QT开发(五)——窗口组件和窗口类型
2016-10-31 18:24
204 查看
QT开发(五)——窗口组件和窗口类型
一、窗口组件
图形用户界面由不同的窗口和窗口组件构成,<QtGui>头文件包含窗口组件,对应QT中的GUI模块,QT以组件对象的方式构建GUI。组件的类型:A、容器类(父组件)用来包含其他的界面组件B、功能类(子组件)用于实现特定的交互功能QT中没有父组件的顶级组件叫窗口。QWidget是容器组件,继承自QObject类和QPaintDevice类,QObject类是所有支持QT对象模型的基类,QPaintDevice类是QT中所有可绘制组件的基类。QWidget组件QWidget能够绘制自己和处理用户输入,是QT中所有窗口组件类的父类,是所有窗口组件的抽象,每个窗口组件都是一个QWidget,QWidget类对象常用作父组件或顶级组件使用。QLabel组件
QLabel组件用于显示一个提示性字符串,是功能性组件,一般需要父组件作为容器,QLabel作为窗口存在没有实际意义。
二、窗口类型
QT中可以根据需要定制窗口样式,不同的窗口类型可以使窗口具有不同的样式特性。窗口类型: Qt::WidgetQt::Window
Qt::Dialog
Qt::Sheet
Qt::Drawer
Qt::Popup
Qt::Tool
Qt::ToolTip
Qt::SplashScreen
Qt::Desktop
Qt::SubWindow
窗口标识: Qt::WindowStaysOnTopHint
三、坐标系统
QT中的坐标系统以左上角为原点,水平为x轴,从左向右为正向,垂直为y轴,从上到下为正向。1、窗口部件的定位
GUI程序在坐标系统中进行窗口和部件的定位定位类型分为:
A、顶级窗口部件的定位
B、窗口内部件的定位
C、窗口部件的大小设置
QT使用统一的坐标系统定位窗口部件的位置和大小
QT部件类提供成员函数在坐标系统中进行定位 QWidget类提供了窗口部件所需的坐标系统成员函数
intx() const;
inty() const;
int width() const;
int height() const;
以窗口左上角为坐标系原点,但width()和height()分别为客户区的宽和高
const QRect &geometry() const;
intx() const;inty() const;int width() const;int height() const; 以客户区左上角为坐标系原点,width()和height()分别为客户区的宽和高
QRectframeGeometry() const;
intx() const;inty() const;int width() const;int height() const; 以窗口左上角为坐标系原点,width()和height()分别为窗口的宽和高
使用实例:
#include <QtGui/QApplication> #include "Widget.h" #include <QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget w(NULL,Qt::Window|Qt::WindowSystemMenuHint); w.setWindowTitle("HelloWorld"); w.show(); qDebug() << w.x(); qDebug() << w.y(); qDebug() << w.width(); qDebug() << w.height(); qDebug() << w.geometry().x(); qDebug() << w.geometry().y(); qDebug() << w.geometry().width(); qDebug() << w.geometry().height(); qDebug() << w.frameGeometry().x(); qDebug() << w.frameGeometry().y(); qDebug() << w.frameGeometry().width(); qDebug() << w.frameGeometry().height(); return a.exec(); }geometry()、frameGeometry()函数需要在show()函数后调用。QT平台在窗口显示出来之前无法确定窗口的大小。
2、窗口部件的设置
QWidget类提供了设置窗口部件大小的成员函数A、改变窗口部件的大小 void resize(const QSize &);void resize(int w, int h);
B、改变窗口部件的位置 void move(int x, int y);
void move(const QPoint &);
相关文章推荐
- QT开发(五)——窗口组件和窗口类型
- 【Qt开发】Qt 捕捉窗口关闭事件与信号的捕捉
- 【Qt开发】qml组件下拉列表的实现(一)
- 【Qt开发-模拟电商网站】模态与非模态窗口
- EPC-6708 qt 窗口串口开发环境搭建
- Qt中的窗口和对话框组件
- odoo8 官方web客户端开发文档翻译3---Widgets Basics(基础窗口组件)
- 【Qt开发】QString,std::string,char*,int等类型数据的转换
- QT5.3.1 Quick 开发(二) 项目类型的选择
- QT5.3.1和VS2013开发,安装插件后在VS2013建新工程报错模块计算机类型“x64”与目标计算机类型“X86”冲突
- 跨平台开发之qt及开源组件qml material
- 【Qt开发】qml组件下拉列表的实现(二)
- QT调用C#开发的ArcEngine的.net组件(1)
- QT开发 查找窗口创建
- Qt 开发之二 :固定窗口大小
- Qt 后台进程开发 子窗口关闭后 主程序退出
- android中窗口小组件开发
- Ubuntu 14.04 + QT 计算器开发实例1-----全局变量的使用以及double、字符串类型互转
- Qt中使用QGLview组件启动应用程序窗口自动关闭
- 【Qt编程】基于Qt的词典开发系列<五>--无边框窗口的拖动