[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组 ...
随机推荐
- vue自定义插件封装,实现简易的elementUi的Message和MessageBox
vue自定义插件封装示例 1.实现message插件封装(类似简易版的elementUi的message) message组件 <template> <transition ...
- std::thread线程库详解(5)
目录 目录 前言 信号量 counting_semaphore latch与barrier latch barrier 总结 前言 前面四部分内容已经把目前常用的C++标准库中线程库的一些同步库介绍完 ...
- SVN讲解
1.SVN是什么? 代码版本管理工具 它能记住你每次的修改 查看所有的修改记录 恢复到任何历史版本 恢复到已经删除的文件 2.SVN和Git相比,有什么优势? 使用简单,上手快 git没有目录级权限控 ...
- leetcode 刷题(数组篇)1题 两数之和(哈希表)
题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元 ...
- redhat 7.6 部署禅道 yum [Errno 14] curl#37 - "Couldn't open file /mnt/repodata/repomd.
记个流水账 redhat 7.6 上部署 禅道. 禅道官网下载 http://dl.cnezsoft.com/zentao/9.8.3/ZenTaoPMS.9.8.3.zbox_64.tar.gz ...
- Java8 Map computeIfAbsent方法说明
// 方法定义 default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) { . ...
- 构建基于表单配置的 Jenkins 测试项目(接口、UI、APP、Jmeter)
1. 第一个 hello world 项目 2. 构建自动触发的项目(接口测试) 1)新建测试项目(执行测试脚本) 2)新建 Maven 打包项目 3)手动执行构建 4)修改 Web 工程代码并 pu ...
- mooc人大单元测试3
@font-face { font-family: Wingdings } @font-face { font-family: 宋体 } @font-face { font-family: " ...
- 利用主机域名配置Apache的虚拟主机功能
利用主机域名配置Apache的虚拟主机功能,可以减轻服务器为每一个网站分配IP地址的压力.而且根据不同的主机域名可以输出不同的网页内容.要实现此项功能,可以通过修改/etc/host文件来强制定义IP ...
- 【故障公告】数据库服务器再次 CPU 100% 引发全站故障
今天五一劳动节的一大早 5:50-6:30 期间,我们使用的阿里云 RDS SQL Server 数据库实例再次出现 CPU 100% 问题,引发全站故障,由此给您带来麻烦,请您谅解. 我们发现故障后 ...