组成一个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. vue自定义插件封装,实现简易的elementUi的Message和MessageBox

    vue自定义插件封装示例 1.实现message插件封装(类似简易版的elementUi的message) message组件 <template>     <transition  ...

  2. std::thread线程库详解(5)

    目录 目录 前言 信号量 counting_semaphore latch与barrier latch barrier 总结 前言 前面四部分内容已经把目前常用的C++标准库中线程库的一些同步库介绍完 ...

  3. SVN讲解

    1.SVN是什么? 代码版本管理工具 它能记住你每次的修改 查看所有的修改记录 恢复到任何历史版本 恢复到已经删除的文件 2.SVN和Git相比,有什么优势? 使用简单,上手快 git没有目录级权限控 ...

  4. leetcode 刷题(数组篇)1题 两数之和(哈希表)

    题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元 ...

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

  6. Java8 Map computeIfAbsent方法说明

    // 方法定义 default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) { . ...

  7. 构建基于表单配置的 Jenkins 测试项目(接口、UI、APP、Jmeter)

    1. 第一个 hello world 项目 2. 构建自动触发的项目(接口测试) 1)新建测试项目(执行测试脚本) 2)新建 Maven 打包项目 3)手动执行构建 4)修改 Web 工程代码并 pu ...

  8. mooc人大单元测试3

    @font-face { font-family: Wingdings } @font-face { font-family: 宋体 } @font-face { font-family: " ...

  9. 利用主机域名配置Apache的虚拟主机功能

    利用主机域名配置Apache的虚拟主机功能,可以减轻服务器为每一个网站分配IP地址的压力.而且根据不同的主机域名可以输出不同的网页内容.要实现此项功能,可以通过修改/etc/host文件来强制定义IP ...

  10. 【故障公告】数据库服务器再次 CPU 100% 引发全站故障

    今天五一劳动节的一大早 5:50-6:30 期间,我们使用的阿里云 RDS SQL Server 数据库实例再次出现 CPU 100% 问题,引发全站故障,由此给您带来麻烦,请您谅解. 我们发现故障后 ...