前言:包括基础窗口部件QWidget、对话框QDialog、QFrame类族 、按钮部件、行编辑器、数值设定框以及滑块部件。

一、基础窗口部件QWidget

窗口部件(Widget)是Qt中建立用户界面的主要元素。像主窗口、对话框、标签、还有按钮、文本输入框等都是窗口部件。

QWidget类是所有用户界面对象的基类,被称为基础窗口部件。

在Qt中,把没有嵌入到其他部件中的部件称为窗口,一般的,窗口都有边框和标题栏。

QWidget的构造函数有两个参数:QWidget * parent = 0和Qt::WindowFlags f = 0;

前面的parent就是指父窗口部件,默认值为0,表明没有父窗口;后面的f参数是Qt::WindowFlags类型的,它是一个枚举类型,分为窗口类型(WindowType)和窗口标志(WindowFlags。前者可以定义窗口的类型,比如我们这里f=0,表明使用了Qt::Widget一项,这是QWidget的默认类型,这种类型的部件如果有父窗口,那么它就是子部件,否则就是独立的窗口。

二、对话框Dialog

2.1 模态对话框

模态对话框就是在我们没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互,比如新建项目时弹出的对话框。要想使一个对话框成为模态对话框,只需要调用它的exec()函数:

QDialog dialog(this);
dialog.exec();

QDialog *dialog = new QDialog(this);
dialog->setModal(true);
dialog->show();

2.2 非模态对话框

非模态对话框,既可以与它交互,也可以与同一程序中的其他窗口交互,例如Microsoft Word中的查找替换对话框。要使一个对话框成为非模态对话框,我们就可以使用new操作来创建,然后使用show()函数来显示。

QDialog *dialog = new QDialog(this);
dialog->show();

2.3 对话框类型

  • 颜色对话框
  • 文件对话框
  • 字体对话框
  • 输入对话框
  • 消息对话框
  • 进度对话框
  • 错误信息对话框
  • 向导对话框

例如:

QColor color = QColorDialog::getColor(Qt::red, this, tr("颜色对话框"));

三、QFrame类族

QFrame类是带有边框的部件的基类。

它的子类有我们最为常用的标签部件QLabel、QLCDNumber、QSplitter、QStackedWidget、QToolBox和QAbstractScrollArea类。

四、按钮部件

QAbstractButton类是按钮部件的抽象基类,提供了按钮的通用功能。它的子类包括:

复选框QCheckBox 、标准按钮QPushButton 、单选框按钮QRadioButton和工具按钮QToolButton。

五、行编辑器

行编辑器QLineEdit部件是一个单行的文本编辑器,它允许用户输入和编辑单行的纯文本内容,而且提供了一系列有用的功能,包括撤销与恢复、剪切和拖放等操作。 例如:

显示模式 、输入掩码、 输入验证 和自动补全

六、数值设定框

QAbstractSpinBox类是一个抽象基类,它提供了一个数值设定框和一个行编辑器来显示设定值。它有三个子类:

QDateTimeEdit(日期时间设定) 、QSpinBox(整数设定) 、QDoubleSpinBox(浮点数的设定)

七、滑块部件

QAbstractSlider类提供了一个区间内的整数值,它有一个滑块,可以定位到一个整数区间的任意值。这个类是一个抽象基类,它有三个子类QScrollBar,QSlider和QDial。其中:

滚动条QScrollBar更多的是用在QScrollArea类中来实现滚动区域;

QSlider是我们最常见的音量控制或多媒体播放进度等滑块;

QDial是一个刻度表盘。

-END-

参考自Qt开源社区的Qt学习之路,http://www.qter.org/forum.php?mod=viewthread&tid=629。

Qt-窗口部件概念介绍的更多相关文章

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

    自定义QT窗口部件外观 重新定义Qt内置窗口部件的外观常用的方法有两种:一是通过子类化QStyle 类或者预定义的一个样式,例如QWindowStyle,来定制应用程序的观感:二是使用Qt样式表. Q ...

  2. Qt窗口部件及子部件

    QWidget类是所有用户界面对象的基类,被称为基础窗口部件. #include <QApplication> #include<QLabel> #include<QWi ...

  3. 如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置

    用Qt Creator 设计程序时,最方便的就是ui设计器,可以很容易的得到想要的布局. 但是这样自动布局带来的后果是很难知道窗口中某一部件在主窗口中的相对位置. 在处理子窗口鼠标事件时变的很麻烦.主 ...

  4. [Qt Creator 快速入门] 第3章 窗口部件

    从这一章开始正式接触Qt的窗口部件.在第2章曾看到 Qt Creator 提供的默认基类只有 QMainWindow.QWidget 和 QDialog 这3种.QMainWindow 是带有菜单栏和 ...

  5. Qt入门(15)——使用窗口部件

    下面是如何创建一个你自己的窗口部件,描述如何控制一个窗口部件的最小大小和最大大小,并且介绍了窗口部件的名称. class MyWidget : public QWidget { public: MyW ...

  6. Qt学习之自定义窗口部件

    自定义Qt窗口部件 实现一个十六进制的SpinBox,一般SpinBox只支持十进制整数,但是可以子类化方法实现该功能 需重新实现以下虚函数 virtual QString textFromValue ...

  7. 调色板类QPalette——包含了Qt窗口不见的颜色组(collor group),和Windows右键属性外观非常类似

    QPalette类包含了Qt窗口不见的颜色组(collor group); 1.Active组,该组的颜色用户当前活动的(active)窗口,即具有键盘或鼠标焦点的窗口; 2.Inactive组,该组 ...

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

    C++ GUI Qt4编程-创建自定义窗口部件   Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部 ...

  9. Qt图形测绘窗口部件介绍

    Qt 图形测绘窗口部件,主要使用第三方窗口部件: 1.Qwt:http://qwt.sourceforge.net 开源免费 2.GraphPak: http://www.ics.com  收费 3. ...

随机推荐

  1. javascript 将单词首字母大写,其余小写

    // 1 别人写的,我拿来参考了一下 function titleCase(str) { var array = str.toLowerCase().split(" "); for ...

  2. tab选项卡切换(js原生、jQuery )

    思路: ① 遍历Tab选项 ② 然后给每个Tab选项绑定点击事件 ③ 每次点击时清除所有Tab选项及Tab选项内容的样式,然后给当前Tab选项添加标记样式,给当前Tab选项添加显示样式 <!DO ...

  3. arttemplate.js原生写法案例

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. Java数组操作工具

    原文地址:http://blog.csdn.net/qq446282412/article/details/8913690 2013-05-11 10:27   看到网上的一段关于对数组操作的代码,觉 ...

  5. 11.05 选择前n个记录

    select ename,salfrom(select (select count(distinct b.sal)from emp bwhere a.sal<=b.sal) as rnk,a.s ...

  6. div与div之间的拖拽

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. Spring AOP 介绍与基于接口的实现

    热烈推荐:超多IT资源,尽在798资源网 声明:转载文章,为防止丢失所以做此备份. 本文来自公众号:程序之心 原文地址:https://mp.weixin.qq.com/s/vo94gVyTss0LY ...

  8. CSS中选择器优先级的权重计算

    CSS中选择器优先级的权重计算 先看一段代码,如下: a{ color: red; } #box a{ color: green; } [class="box"] a{ color ...

  9. Python编程:从入门到实践 - matplotlib篇 - plot & scatter

    matplotlib篇 plot & scatter # filename.py 获取当前文件名方法 import sys # 当前文件名 print(sys.argv[0]) # 去除后缀后 ...

  10. log4j输出多个自定义日志文件,动态配置路径

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...