[Qt] 组件

组成一个Qt应用的基本元素
窗口(window):一个部件没有嵌入其他部件中,就把这个部件叫做窗口或顶层窗口,顶层窗口没有父窗口
控件(widget):一个窗口嵌入到其他窗口中,这些窗口就叫做控件或子窗口,它本身的标题栏会被隐藏
菜单栏(menu):位于窗口最上方,点击一个会下拉显示许多选项
工具栏(toolbar):位于菜单栏下方,有很多小按钮,类似快捷键
状态栏(statusbar):位于窗口最下方,显示窗口当前的状态信息
Qt中的三种顶层窗口:QWidget、QDialog、QMainWindow
QWidget:最基础的窗口,所有窗口及控件都继承QWidget
QDialog:以独立窗口显示的对话框,如下图cad中的对话框
QMainWindow:带有菜单栏、工具栏、状态栏的主窗口,以独立窗口显示
QMdiSubWindow:为QMdiArea提供一个子窗体,用于MDI(多文档)应用程序的设计


信号(Signal):在特定情况下被发射的事件,如鼠标单击的clicked()信号
槽(Slot):对信号响应的函数,与一般函数的不同在于,可以与一个信号关联,当信号被发射时,关联的槽函数被自动执行
QAction:在界面设计时创建Action,编写其trigger()信号的槽函数,可用于创建菜单项、工具栏选项
QToolBar:工具栏,可在右上角的对象浏览器中右击主窗口添加
QMenu:菜单栏
QStatusBar:状态栏
QDockWidget:悬停窗口
QLabel:显示字符串
QLineEdit:输入字符串
QString:定义字符串
QSlider:滑动条
QScrollBar:卷滚条
QProgressBar:进度条
QDial:表盘式输入
QLCDNumber:模仿LCD显示组件
QTimer:时间数据类型
QDate:日期数据类型
QDateTime:日期时间数据类型
QMainWindow:主窗体
QAction:用于创建菜单栏、工具栏按钮,点击一个按钮时会触发响应的槽函数
QToolBox:多组工具箱
QSplitter:分隔条
QDialog:
项(Item)
试图(View)
模型数据(Model Data)
Item Views(QListView、QTreeView)
Item Widgets(QListWidget、QTreeWidget、QTableWidget):将数据存储在每个项里
QListWidget:多界面设计
QTabWidget:多页面设计,下图右侧是有3个页面的TabWidget组件
QToolBox:多组工具箱,下图左侧是有3个组的ToolBox组件
QToolButton:按钮,下图中的方块
QPushButton:

MDI
多文档界面(Multi-document Interface):在主窗口里创建多个同类型子窗口,子窗口共享主窗口上的工具栏和菜单栏,主窗口上的操作针对当前活动的子窗口进行
[Qt] 组件的更多相关文章
- Qt组件中的双缓冲无闪烁绘图
双缓冲绘图在Qt4中,所有的窗口部件默认都使用双缓冲进行绘图.使用双缓冲,可以减轻绘制的闪烁感.在有些情况下,用户要关闭双缓冲,自己管理绘图.下面的语句设置了窗口部件的Qt::WA_PaintOn ...
- Qt——组件位置随窗口变化
当我们用Qt Designer设计界面时,有时会面临这样一个问题:需要在窗口指定位置放置组件,并且当窗口位置大小改变时,该组件相对其父对象的位置是不变的,如下面两幅图所示 ,首先看上面这幅图,注意bu ...
- 自定义Qt组件-通讯模块(P1)
通讯模块Communicator 通讯模块是整个项目设计中位于最底层的模块,用于处理与串口或网络等设备的通讯,所有设备的通讯通过CommManager类完成,上层软件设计时需要根据comm模块(主要是 ...
- 自定义Qt组件-通讯模块(P3)
1. 半双工模式实时检测串口 ComHalfDuplex类是为了解决上位机发送控制指令和下位机发送数据会在半双工RS485总线中产生冲突引起乱码而引入的(v0.010版本引入). 解决冲突的原理主 ...
- Qt组件(例如按钮、树形控件)上响应鼠标右键
ui->textEdit->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->textEdit,SIGNAL(cust ...
- QT组件与std性能
https://blog.csdn.net/zy19940906/article/details/53694909
- 自定义Qt组件-通讯模块(P2)
1. 抽象协议AbstractProtocol 抽象协议AbstractProtocol定义CommManager与协议之间的接口.AbstractProtocol中的一些属性(如enabled)用 ...
- QT使用提升自定义组件
QT使用提升自定义组件 QTC++QT自定义 QT 组件提升来实现自定义功能 介绍 我们在使用QT设置界面之后,往往需要自己实现一些方法,如果是单独 的还好,但是如果遇到很多同类型的都有需求, 比如 ...
- QT 文件对话框(QFileDialog)
1.选择文件(上传.打开...) QString QFileDialog::getOpenFileName( QWidget *parent = , //parent,用于指定父组件.注意,很多Qt组 ...
随机推荐
- c++ vector容器浅析
注:本文章参考 https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html 前言: 最近遇到一个广搜的题,不管怎么试都会暴 然后 ...
- vue-cli2 生成的项目打包优化(持续学习中)
1.昨天看到自己的项目每次打包后都是30M左右,就觉得这个打包后的dist文件太大了,能不能小点呢, 然后就看网上的资料,提供了好多优化的办法,但是我只用了一个,后期再不断的优化吧. 打开工程项目文件 ...
- Dynamics CRM9.0安装CRM的时候提示Microsoft.Crm.Setup.Server.RegisterSandboxServiceAction操作失败
如图: 这种问题有两种情况会遇到.第一种是一个域装多套CRM产品会提示这个问题这个问题是解决不了的. 还一种情况就是安装9.0及以后的产品先安装了ADFS再安装产品就会提示这个错误. 第二种解决办法就 ...
- 字节、位、bit、byte、KB、B、字符之间的关系
一.bit 位bit就是位,也叫比特位,是计算机表示数据最小的单位,例如 1b ,2b,3b..... 说白了就是0或者1:计算机内存中的存储都是01这两个东西. 二.byte 字节byte就是字节 ...
- JAVAEE_02_BS/CS架构
BS/CS架构 系统构架分为? C/S: Client/Server B/S: Browser/Server B/S的优缺点? 优点: 1. 不需要安装特定的客户端软件,只需要浏览器. 2. 升级只需 ...
- Python表达式进阶——列表表达式
x = 0 y = x*2 if x >= 0 else x print(y) # [表达式for变量in列表] l1 = [] l2 = [i for i in range(100) if i ...
- 限制pyqt5应用程序 只允许打开一次
起因 pyqt5程序创建桌面快捷方式后,多次单击图标 会打开多个UI界面,这种情况肯定是不允许的! 解决 if __name__ == '__main__': try: app = QtWidgets ...
- 【ElasticSearch】文档路由的原理
ElasticSearch集群环境下新增文档如何确认该文档被分配到哪个分片中? 路由算法: ⾸先这肯定不会是随机的,否则将来要获取⽂档的时候我们就不知道从何处寻找了.实际上,这个过程是根据下⾯这个公式 ...
- C/C++ 进程代码注入与提权/降权
如果将shellcode注入到具有特定权限的进程中,我们就可以获得与该进程相同的权限,此方法可以用于提权与降权操作,注入有多种方式,最简单的是直接将metasploit生成的有效载荷直接注入到目标进程 ...
- hdu1686 最大匹配次数 KMP
题意: 给你两个串,问你串a在串b中出现了多少次. 思路: 直接匹配,KMP时匹配到匹配串的最后一个的时候不用跳出,直接匹配就行了,最后一个'/0'不会和目标串匹配,所以经过ne ...