组成一个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] 组件的更多相关文章

  1. Qt组件中的双缓冲无闪烁绘图

      双缓冲绘图在Qt4中,所有的窗口部件默认都使用双缓冲进行绘图.使用双缓冲,可以减轻绘制的闪烁感.在有些情况下,用户要关闭双缓冲,自己管理绘图.下面的语句设置了窗口部件的Qt::WA_PaintOn ...

  2. Qt——组件位置随窗口变化

    当我们用Qt Designer设计界面时,有时会面临这样一个问题:需要在窗口指定位置放置组件,并且当窗口位置大小改变时,该组件相对其父对象的位置是不变的,如下面两幅图所示 ,首先看上面这幅图,注意bu ...

  3. 自定义Qt组件-通讯模块(P1)

    通讯模块Communicator 通讯模块是整个项目设计中位于最底层的模块,用于处理与串口或网络等设备的通讯,所有设备的通讯通过CommManager类完成,上层软件设计时需要根据comm模块(主要是 ...

  4. 自定义Qt组件-通讯模块(P3)

    1.   半双工模式实时检测串口 ComHalfDuplex类是为了解决上位机发送控制指令和下位机发送数据会在半双工RS485总线中产生冲突引起乱码而引入的(v0.010版本引入). 解决冲突的原理主 ...

  5. Qt组件(例如按钮、树形控件)上响应鼠标右键

    ui->textEdit->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->textEdit,SIGNAL(cust ...

  6. QT组件与std性能

    https://blog.csdn.net/zy19940906/article/details/53694909

  7. 自定义Qt组件-通讯模块(P2)

    1.  抽象协议AbstractProtocol 抽象协议AbstractProtocol定义CommManager与协议之间的接口.AbstractProtocol中的一些属性(如enabled)用 ...

  8. QT使用提升自定义组件

    QT使用提升自定义组件 QTC++QT自定义 QT 组件提升来实现自定义功能 介绍 我们在使用QT设置界面之后,往往需要自己实现一些方法,如果是单独 的还好,但是如果遇到很多同类型的都有需求, 比如 ...

  9. QT 文件对话框(QFileDialog)

    1.选择文件(上传.打开...) QString QFileDialog::getOpenFileName( QWidget *parent = , //parent,用于指定父组件.注意,很多Qt组 ...

随机推荐

  1. c++ vector容器浅析

    注:本文章参考 https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html 前言: 最近遇到一个广搜的题,不管怎么试都会暴 然后 ...

  2. vue-cli2 生成的项目打包优化(持续学习中)

    1.昨天看到自己的项目每次打包后都是30M左右,就觉得这个打包后的dist文件太大了,能不能小点呢, 然后就看网上的资料,提供了好多优化的办法,但是我只用了一个,后期再不断的优化吧. 打开工程项目文件 ...

  3. Dynamics CRM9.0安装CRM的时候提示Microsoft.Crm.Setup.Server.RegisterSandboxServiceAction操作失败

    如图: 这种问题有两种情况会遇到.第一种是一个域装多套CRM产品会提示这个问题这个问题是解决不了的. 还一种情况就是安装9.0及以后的产品先安装了ADFS再安装产品就会提示这个错误. 第二种解决办法就 ...

  4. 字节、位、bit、byte、KB、B、字符之间的关系

    一.bit 位bit就是位,也叫比特位,是计算机表示数据最小的单位,例如 1b ,2b,3b..... 说白了就是0或者1:计算机内存中的存储都是01这两个东西. 二.byte 字节byte就是字节 ...

  5. JAVAEE_02_BS/CS架构

    BS/CS架构 系统构架分为? C/S: Client/Server B/S: Browser/Server B/S的优缺点? 优点: 1. 不需要安装特定的客户端软件,只需要浏览器. 2. 升级只需 ...

  6. 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 ...

  7. 限制pyqt5应用程序 只允许打开一次

    起因 pyqt5程序创建桌面快捷方式后,多次单击图标 会打开多个UI界面,这种情况肯定是不允许的! 解决 if __name__ == '__main__': try: app = QtWidgets ...

  8. 【ElasticSearch】文档路由的原理

    ElasticSearch集群环境下新增文档如何确认该文档被分配到哪个分片中? 路由算法: ⾸先这肯定不会是随机的,否则将来要获取⽂档的时候我们就不知道从何处寻找了.实际上,这个过程是根据下⾯这个公式 ...

  9. C/C++ 进程代码注入与提权/降权

    如果将shellcode注入到具有特定权限的进程中,我们就可以获得与该进程相同的权限,此方法可以用于提权与降权操作,注入有多种方式,最简单的是直接将metasploit生成的有效载荷直接注入到目标进程 ...

  10. hdu1686 最大匹配次数 KMP

    题意:      给你两个串,问你串a在串b中出现了多少次. 思路:       直接匹配,KMP时匹配到匹配串的最后一个的时候不用跳出,直接匹配就行了,最后一个'/0'不会和目标串匹配,所以经过ne ...