QT Creator快速入门读书笔记:窗口部件初探
QWidget基础窗口部件
Qt把没有嵌入到其他部件中的部件称为窗口,一般窗口都有边框和标题栏,就像程序中的widget和label一样。QMainWindow和大量的QDialog子类是最一般的窗口类型。窗口就是没有父部件的部件,所以又称为顶级部件。与其相对应的是非窗口部件,又称为子部件。在Qt中大部分部件被用作子部件,嵌入在别的窗口中。
对话框QDialog
模态对话框是在没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互,而对于非模态对话框,既可以与它交互,也可以与同一程序中的其他窗口交互。要想使一个对话框成为模态对话框,则只需要调用它的exec函数,而使其称为非模态对话框,则可以使用new操作来创建,然后使用show函数显示。其实使用show函数也可以建立模态对话框,只须在其前面使用setModal函数。
与setModal函数相似的还有一个setWindowModality函数,它有一个参数来设置模态对话框要阻塞的窗口类型,可以是Qt::NonModal(不组赛任何窗口,就是非模态)、Qt::WindowModal(阻塞它的父窗口、所有祖先窗口以及它们的子窗口)或Qt::ApplicationModal(阻塞整个应用程序的所有窗口)。而setModal函数默认设置的是Qt::ApplicationModal。
//模态对话框
//运行,对话框弹出,但是QWidget基础窗口没有弹出,关闭对话框后,窗口才弹出
QDialog dialog(this); //this是QWidget指针
dialog.exec();//运行后,对话框和基础窗口都弹出。因为调用show后控制权交给调用者,程序继续执行
QDialog *dialog = new QDialog(this);
dialog->setModal(true);
dialog->show();//非模态对话框
QDialog *dialog = new QDialog(this);
dialog->show();
//为dialog指明了父窗口,没有必要用delete释放对象
QDialog小例子
在创建Qt Widgets Application项目时,选择QDialog为基类,默认勾选创建界面复选框,表示采用自带的界面设计器来设计界面。
新建的工程和上一节的所讲述的类继承结构相似。这里新建的类Dialog继承自QDialog和Ui_Dialog。这里不再进行详细介绍,直接使用设计师进行设计。
在计算按钮上单击鼠标右键,选择转到槽命令,并选择clicked信号,单击OK按钮。软件跳转到dialog.cpp文件中按钮单击事件的槽函数on_coutBtn_clicked(),在其中添加处理代码。
点击计算按钮,将会将计算的值输出到areaLabel_3控件。
Q_OBJECT宏的作用是启动Qt 5元对象系统的一些特性(如支持信号和槽等)。
信号和槽
Qt中使用信号和槽机制完成对象之间的协同操作。简单说,信号和槽都是函数,比如单击窗口上的一个按钮后想要弹出一个对话框,那么可以将这个按钮的单击信号和自定义的槽关联起来,在这个槽中创建一个对话框并且显示它。这样单击这个按钮就会发射信号,进而执行槽来显示一个对话框。
这里介绍采用编写代码的方式实现计算面积功能的代码和不使用上面的方法定义槽:
直接定义Dialog类继承QDialog,并定义控件指针。
这里自定义了一个槽,槽一般使用slots关键字进行修饰(Qt4中必须使用,Qt5使用新connect语法时可以不用)。这里使用private slots,表明这个槽不能再类外被调用。
这里使用connect函数将按钮的单击信号clicked与新建的槽进行关联。connect是QObject类中的函数,由于Dialog也继承自QObject,所以可以直接使用它。
当类被继承时,该类的信号和槽也同时被继承,也可以根据需要自定义信号和槽。
其他对话框
Qt提供了一些常用的对话框类型,它们全部继承自QDialog类,并增加了自己的特色功能,比如获取颜色、显示特定信息等。
颜色对话框
颜色对话框类QColorDialog提供了一个可以获取指定颜色的对话框部件。
文件对话框
文件对话框QFileDialog类提供了一个允许用户选择文件或文件夹的对话框。
字体对话框
字体对话框QFontDialog类提供一个可以选择字体的对话框部件。
输入对话框
输入对话框QInputDialog类用来提供一个对话框,可以让用户输入单一数值或字符串。
QFrame类
QFrame类是带有边框的部件的基类。它的子类包括最常用的标签部件QLabel,另外还有QLCDNumber、QSpliter、QStackedWidget、QToolBox和QAbstractScrolArea类。QAbstractScrolArea类是所有带滚动区域的部件类的抽象基类,这里需要说明,Qt中凡是带有Abstract字样的类都是抽象基类。抽象基类是不能直接使用的,但是可以继承该类实现自己的类,或者使用它提供的子类。
QT Creator快速入门读书笔记:新建HelloWorld工程
QT Creator快速入门读书笔记:窗口部件初探
QT Creator快速入门读书笔记:窗口部件初探相关推荐
- QT Creator快速入门读书笔记:新建HelloWorld工程
窗口部件 QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,QWidget类是所有用户界面对象的基类,被称为基础窗口部件.QWidget继承自QObject类和Q ...
- Qt Creator快速入门(第3版)
第1章Qt Creator简介 可以参考Qt开源社区(www.qter.org) 打开文件所在的文件夹: Ctrl+ Tab快捷键,可以在多个打开的文档切换 帮助里面的: 书签:Ctrl十 M ...
- QT Creator 快速入门教程 读书笔记(一)
一 Qt简介 Qt 是一个跨平台的C++应用程序框架,支持Windows.Linux.Mac OS X.Android.iOS.Windows Phone.嵌入式系统等.也就是说,Qt 可以同时支持桌 ...
- 《Qt Creator快速入门(第3版)》
第1章Qt Creator简介 可以参考Qt开源社区(www.qter.org) 打开文件所在的文件夹: Ctrl+ Tab快捷键,可以在多个打开的文档切换 帮助里面的: 书签:Ctrl十 M 第2 ...
- QT Creator 快速入门教程 读书笔记
http://www.cnblogs.com/majianchao/p/6602234.html
- php编程读书笔记,php3小时快速入门-读书笔记
1.php介绍:web开发 2.hello world 编写 echo "hello world"; ?> echo ' ' 3.开发环境 wamp---localhost/ ...
- Qt 快速入门学习笔记
Qt 快速入门学习笔记 环境安装 环境配置以及安装 安装包下载地址 1.windows安装 msvc编译器模块需要安装Windows软件开发工具包. MinGW是Windows平台使用GNU工具导入库 ...
- Qt Designer快速入门
Qt Designer快速入门 Qt Designer快速入门 Qt Designer快速入门 使用Qt Designer涉及四个基本步骤: 选择你的形式和对象 将对象放在表格上 将信号连接到插槽 预 ...
- ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记
ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记: 一.Qt Creator 5.10安装 官网下载地址: http://download ...
最新文章
- R语言grep函数和grepl函数字符匹配实战
- 七大排序算法的个人总结(一)
- 欧司朗台灯的灯泡容易坏是怎么回事
- 这本关于Node.js的书,是一本神书,助你学会Node.js,为你升职加薪,走上人生巅峰
- jquery查找父窗体id_js/jquery如何获取父窗口的元素?
- Microsoft.AlphaImageLoader滤镜解说
- 第三方支付通道 聚合支付 第三方支付平台
- vue验证码图片显示不出来,将图片转换为base64格式显示
- Markdown 格式参考-中文文案排版指北
- 台式计算机如何双屏显示,一个电脑主机怎样接两个显示器_一个电脑连接两个显示器如何操作-win7之家...
- java项目常用的工具类
- 批处理之ren命令-可批量修改文件名
- HCIP-IoT MQTT协议技术原理
- 我们这一代人的困惑 - 转载
- 【git】 git如何把自己的分支合并到主分支(需要权限)
- hdu 6112 今夕何年(模拟)
- 小米平板安装linux系统版本,ubuntu(linux)占领小米平板2(mipad2)
- PID应用时要注意的一些点
- 淘宝短视频批量自动发布,无需人工RPA开源
- 高校软件测试实验室建设误区