窗口部件及窗口类型

窗口部件和窗口类型并不是Qt中才有的概念,其他的平台中也有类似的概念。

图形用户界面由不同的窗口和窗口组件构成(也就是说窗口和窗口组件是图形用户界面开发中的最小单元)
<QtGui>头文件包含窗口组件,对应Qt中的GUI模块
Qt以组件对象的方式构建图形用户界面

组件的类型:
——容器类(父组件):用于包含其它的界面组件
——功能类(子组件):用于实现特定的交互功能

Qt中没有父组件的顶级组件叫做窗口

QWidget类继承自QObject类和QPaintDevice类
——QObject是所有支持Qt对象模型的基类
——QPaintDevice是Qt中所有可绘制组件的基类

QWidget组件
QWidget能够绘制自己和处理用户的输入
QWidget是Qt中所有窗口组件类的父类(super class)
QWidget是所有窗口组件的抽象
Qt中的每个窗口组件都是一个QWidget
QWidget类对象常作为父组件或顶级组件使用

QWidget编程初探

#include "Widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;  //w没有父组件,因此它就是一个窗口
    w.show();

    return a.exec();
}

Widget w; w没有父组件,因此它就成为了窗口。所看到的名为Test这个对话框是由Qt自动生成的,Qt在QWidget的外面加上了对话框一些特有的东西,比方说标题、最大化和最小化、关闭按钮。真正的widget是对话框里面那块,它什么也没有,因为QWidget是所有图形用户组件类的父类。

原文地址:https://www.cnblogs.com/-glb/p/12078639.html

时间: 2024-10-09 13:30:12

窗口部件及窗口类型的相关文章

QT之窗口部件及窗口类型

今天我们来继续学习QT的相关知识,本文的内容是介绍QT的窗口部件及窗口类型. 先说下窗口组件,图形用户界面由不同的窗口和窗口组件构成,一般是在<QtGui>中包含,对应Qt中的GUI模块:Qt以组件对象的方式构建图形用户界面:组件的类型分为两种:1.容器类(父组件),用于包含其他的界面组件.2.功能类(子组件),这个是用于实现特定的交互功能. **Qt中没有父组件的顶级组件叫做窗口!!!** 以下图为例,我们进行说明: QWidget 类继承自 QObject 类和 QPaintDevice

第6课 窗口部件及窗口类型

1. 窗口组件 (1)图形用户界面由不同的窗口和窗口组件构成 (2)<QtGui>头文件包含窗口组件,对应Qt中的GUI模块 (3)Qt以组件对象的方式构建图形用户界面 (4)组件类型 ①容器类(父组件):用于包含其他的界面组件.Qt中没有父组件的顶级组件叫窗口 ②功能类(子组件):用于实现特定的交互功能 2. 窗口组件的类继承图 (1)QWidget继承图 ①QObject是所有支持Qt对象模型的基类 ②QWidget类继承自QObject类和QPaintDevice类 ③QPaintDev

Tkinter类之窗口部件类

Tkinter类之窗口部件类 Tkinter支持15个核心的窗口部件,这个15个核心窗口部件类列表如下: 窗口部件及说明: Button:一个简单的按钮,用来执行一个命令或别的操作. Canvas:组织图形.这个部件可以用来绘制图表和图,创建图形编辑器,实现定制窗口部件. Checkbutton:代表一个变量,它有两个不同的值.点击这个按钮将会在这两个值间切换. Entry:文本输入域. Frame:一个容器窗口部件.帧可以有边框和背景,当创建一个应用程序或dialog(对话)版面时,帧被用来组

【Qt学习笔记】窗口部件整理

关于Qt中窗口部件的学习 今天开始学习Qt的窗口部件,领略一下Qt的神奇之处,记得2012年的那年冬天,我还学Java呢,现在基本上和Java说再见了,不过对于嵌入式的开发Qt还是举足轻重的,我想趁着假期的时间,好好学习.考研之后发现一个问题,无论当初你学的有多明白,总会忘记,最好的方法就是将他们记录下来,甚至写下你当时的心情,如果有一天你需要了,回过头来看看,是一笔不错的财富. 1. QDialog类对话框 1.1 模态和非模态对话框 对于对话框,有模态(modal)和非模态(modeless

C++ GUI Qt4编程-创建自定义窗口部件

C++ GUI Qt4编程-创建自定义窗口部件 Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部件集成到Qt设计师中,这样就可以像使用内置的Qt窗口部件一样来使用它们,最后展示使用双缓冲技术(一种用于快速绘制的强大技术)的自定义窗口部件. 1.自定义Qt窗口部件 我们发现Qt窗口部件需要更多的自定义定制,这些定制可能要比它在Qt设计师里设置的属性或者对它调用的那些函数更多一些,一个简单而直接的解决

1.4 窗口部件的布局

Qt第一章的最后一个内容是部件的布局. 书中的例子用到了一个QHBoxLayout类 这个类能够将放置在布局内的控件自动调整大小和位置,我们不需要手动去调整,比较方便. 第10行:创建一个QWidget对象 QWidget是所有用户界面对象的基类.在这里将会用作其它部件的父对象,在这之上显示相应的控件.也就是说它将作为程序的主窗口. 第11行:设置窗口标题 字面意思上看也的确是设置窗口的标题. 第13行:创建一个QSpinBox对象 用到的函数:QSpinBox::QSpinBox ( QWid

自定义QT窗口部件外观之QStyle

自定义QT窗口部件外观 重新定义Qt内置窗口部件的外观常用的方法有两种:一是通过子类化QStyle 类或者预定义的一个样式,例如QWindowStyle,来定制应用程序的观感:二是使用Qt样式表. QStyle 类的使用 1.      准备必要的背景图片.在你想添加自定义风格的工程目录下新建一个文件夹“images”,将背景图片等放入文件夹“images”. 2.      点击Qt Creator的“文件”->“新建文件或工程”->模板选择“Qt”,再选择Qt资源文件->点击“选择”

自定义窗口部件--Custom widget

通过继承的手段,子类原有的窗口部件 (1)改进法(promotion):新建一个项目,在UI界面拖QSpinBox部件到窗体中,右键点击部件.在弹出菜单中,选择“提升为”.(把下面两个文件加到项目中) #ifndef HEXSPINBOX_H #define HEXSPINBOX_H #include <QSpinBox> class QRegExpValidator; class HexSpinBox:public QSpinBox { Q_OBJECT public: HexSpinBox

Qt自定义窗口部件

QtDesigner自定义窗口部件有两种方法:改进法(promotion)和插件法(plugin) 改进法 1.改进法之前,要先写好子类化QSpinBox后的HexspinBox.h和HexspinBox.cpp文件.把这两个文件拷贝到想要的项目中. HexspinBox.h Cpp代码   #ifndef HEXSPINBOX_H #define HEXSPINBOX_H #include <QSpinBox> class QRegExpValidator; class HexSpinBox