QT中组件/控件类的关系

发布时间:2022-12-04 GUI QT

一、常见类继承关系
在这里插入图片描述
二、窗口类继承关系
在这里插入图片描述
在这里插入图片描述

Qt中窗口类的继承关系

img

img

说明:

  • QWidge继承自QObject和QPaintDevice类
    • QObject是支持QT对象模型的基类(Qt Object Model)
    • QPaintDevice是所有可以绘制的对象的基类。
  • QWidget是QDialog和QMainWindow的基类。
    • QMainWindow是带有菜单栏和工具栏的主窗口类。
    • QDialog是各种对话框的基类。

更多相关推荐


Qt QCheckBox QRadioButton

发布时间:2022-11-16 QT教程 QT 嵌入式 C++ QT开发 QT5
QtQCheckBoxQRadioButton简述QCheckBox继承自QAbstractButton,它提供了一个带文本标签的复选框。QCheckBox(复选框)和QRadioButton(单选框)都是选项按钮。这是因为它们都可以在开(选中)或者关(未选中)之间切换。区别是对用户选择的限制:单选框定义了“多选一”的选择,而复选框提供的是“多选多”的选择。尽管在技术上可以通过复选框来实现单选框的...

QRadioButton的使用

发布时间:2020-12-29 QT
RadioButton部件提供了一个带有文本标签的单选框(单选按钮)。QRadioButton是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选框通常呈现给用户一个“多选一”的选择。也就是说,在一组单选框中,一次只能选中一个单选框。单选框默认开启自动互斥(autoExclusive)。如果启用了自动互斥,属于同一个父部件的单选框的行为就和属于一个互斥按钮组的一样...

设置QRadioButton样式

发布时间:2022-11-01 QT
1.设置大小QRadioButton::indicator{   width:30px;   height:30px; }2.设置不选中时的状态样式QRadioButton::indicator::unchecked{   border-image:url(:/new/prefix1/image/RunCheck.png); }2.设置选中时的状态的样式 QRadioButton::indicat...

qRadioButton

发布时间:2018-04-16 QT
#ifndefTESTRADIOBUTTON_H#defineTESTRADIOBUTTON_H#include<QtWidgets/QMainWindow>#include"ui_testradiobutton.h"classtestRadioButton:publicQMainWindow{ Q_OBJECTpublic: testRadioButton(QWidget*par...

QT layout

发布时间:2012-02-13 QT LAYOUT 文本编辑 配置管理 BUTTON DIALOG
Qt的版面配置(layout)系統提供了一個簡單有效的方法來做childwidget的版面編排。使用版面配置具有下列的優點:將childwidget的位置做編排可調整的視窗預設大小可調整的視窗最小大小可調整視窗大小根據內容自動調整:childwidget的字型大小、文字或其他內容隱藏或顯示childwidget移除childwidget其實使用者也可以直接經由撰寫程式碼做版面配置,但卻是相當不方便...

Qt5 unicode解码以及正则匹配

发布时间:2022-11-18 QT 开发语言 UI
Qt5unicode解码以及正则匹配mainwindow.h#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QMainWindow>#include<QDebug>#include<QString>#include<QRegularExpression>#include<QRegularExpres...

Qt 给窗口绘制阴影

发布时间:2022-11-24 QT教程 QT QT图形 QT开发 QT界面开发
文章目录Qt给窗口绘制阴影前言重载`paintEvent`法QGraphicsDropShadowEffect方法使用九图拼凑法九宫格缩放阴影法Qt给窗口绘制阴影前言最近自定义一个消息弹框,但是没加阴影之前,觉得有点扁平。然后仔细看了Qt自带的消息弹框,发现是没有加上阴影的问题。所以就在网上搜索怎么加阴影,有多种方法。写这个博客的目的是记录一下这几种方法,并且加上我对于这些方法的理解。具体的方法有...

Qt使用QAudioInput、QAudioOutput实现局域网的音频通话

发布时间:2022-11-24 QT教程 QT QT开发 QT5 音视频
本文旨在介绍一下用Qt来实现局域网音频通话功能技术实现QAudioInput、QAudioOutput(Qt采集和播放音频类)QUdpSocket(Qt的UDP通信类)  话不多说,直接上代码链接,想下载的朋友可以直接去gitee下载。  整体的思路就是,读取声卡的数据,通过UDP发送出去,同时也会读取UDP发送过来的流的数据,写入到音频播放设备里进行播放。以下是一些比较简单的对这两个技术点的解释...

QWidget的isHidden和isVisible

发布时间:2022-11-24 QT教程 QT QWIDGET QT开发 QT5
文章目录问题的出现QWidget的show()函数QWidget的isVisible和isHidden源码追溯QWidget的isHidden和isVisible问题的出现最近在写代码的时候,出现了一个问题,我新建了两个类,分别是Chapter2和ConsecutiveCurtain//ConsecutiveCurtain.cppConsecutiveCurtain::ConsecutiveCur...

pyqt5 向 QTableWidget添加元素以及锁定到某行

发布时间:2022-11-24 PYQT QT
QtWidgets.QTableWidget注意:需要先添加行后,才能添加数据self.tableWidget.setRowCount(row+1)锁定最新的行,即滚动调随着数据新增向下拉self.tableWidget.verticalScrollBar().setSliderPosition(row+1)row=self.tableWidget.rowCount()self.tableWidg...

关于qt中的model-view的思考

发布时间:2017-06-18 QT MODEL
2019独角兽企业重金招聘Python工程师标准>>>qt中的view可以直接setmodel,model提供数据,根据自己的经验有以下情况:          1.model的数据被改变的时候,该怎么办?  当control层改变model的数据的时候,顺便update一下view就行了。省去了像去年那样那种繁琐的开发。          2.model的数据需要缓存的时候该怎...

Qt编写机房安全作业预警系统

发布时间:2018-07-30 QT 预警系统
最近给一个朋友做了个项目,运行在一个日本大型企业中,大屏显示。机房安全作业预警系统工事主要是由监控系统和报警系统组成。其目的就是通过监控系统实时观察空压机房内的动态,通过报警系统确认空压机房在规定的时间内,工作人员有无安全撤离。以便及时提醒相关人员对此进行处理,预防以及减少安全事故的发生。环境介绍:1,办公室显示器;2,机房电脑;3,门卫室显示器;4,设备维修间;功能要求:1,显示维修间所有图像;...

vs2017 fatal error LNK1104: 无法打开文件“\.obj”

发布时间:2022-11-24 C++ QT QT5 VISUAL STUDIO
开发环境·vs2017+Qt5.12.9错误:从别的电脑上面拷贝过来的工程在自己电脑上面编译出现了这种错误,百度+分析原因发现是在附加依赖项中添加了\和$(INHERIT)\这两样!去掉就可以了!接下来看一下关于$(INHERIT)及相关的c++常见编译知识$(INHERIT)指定在由项目生成系统所撰写的命令行中,继承的属性出现的顺序。默认情况下,继承的属性出现在当前属性的末尾。$(NoInher...

QT的一些知识点

发布时间:2016-09-23 QT 知识点
<spanstyle="font-family:Arial,Helvetica,sans-serif;background-color:rgb(255,255,255);">1、QMessageBox的简单的用法:QMessageBox::information(this,"infor","thisisOK");</span>2、pushbutton设置透明按钮ui.m_b...

QT怎样在QTableWidge显示图片

发布时间:2015-12-30 QT QTABLEWIDGE
 <spanstyle="font-family:Arial,Helvetica,sans-serif;font-size:12px;">QTableWidget*table=newQTableWidget(1,num);</span>QPixmappix("00/"+picnum+".jpg");//图片路径QLabel*label1=newQLabel;label1-&...

[Qt]QPushButton按钮

发布时间:2022-11-03 QT QT学习篇 开发语言
[Qt]QPushButton按钮目录[Qt]QPushButton按钮1.窗口创建(其他组件的容器)(1)窗口头文件(2)窗口源文件2.创建按钮QPushButton类的使用创建按钮的过程1.窗口创建(其他组件的容器)注意:组件要依赖窗口存在,因此在学习按钮的时候首先需要创建窗口,后续的按钮或者其他组件,都依赖与该窗口,即都包含在这个窗口中(1)窗口头文件(2)窗口源文件2.创建按钮QPushB...

Qt post 传base64图片 服务器接收解析图片失败

发布时间:2022-11-08 QT QT5
将图片以base64编码后post传给服务器,服务器接收异常问题1:QNetworkReply::InternalServerError401,请求时报了这个错误问题2:content-typemissinginHTTPPOST,defaultingtoapplication/x-www-form-urle,请求的时候偶尔会出现这个提示。原因:后台查找后发现,请求已经发送到后台,但是因为解析数据失...

第9篇 基础(九)Qt键盘、鼠标事件的处理

发布时间:2022-10-28 QT WINDOWS UI
导语事件是对各种应用程序需要知道的由应用程序内部或者外部产生的事情或者动作的通称。对于初学者,总会对Qt中信号和事件的概念混淆不清。其实,记住事件比信号更底层就可以了。比如说,我们用鼠标按下界面上的一个按钮,它会发射clicked()单击信号,但是,它怎么知道自己被按下的呢,那就是通过鼠标事件处理的。这里可以看到,鼠标事件比信号更底层。在Qt中处理事件有多种方法,不过最常用的是重写Qt事件处理函数...

QT学习笔记(三)——vs2019+Qt实现打开影像并以鼠标为中心用滚轮控制图片缩放

发布时间:2022-11-26 C++ QT 笔记 VISUALSTUDIO
vs2019+Qt实现打开影像并以鼠标为中心用滚轮控制图片缩放之前写了一个博客讲怎么显示一张影像,那个是基于Qpainter的今天使用QLabel来显示影像,并且用鼠标滚轮控制缩放。关于图像的打开和显示,主要参考这个博客关于如何使图片自适应窗口与铺满窗口,可以参考这个博客。这两个博客出自同一作者,都很详细。其中按照第二个博客运行后存在的问题是,点了铺满窗口后,再点自适应窗口,图片没有反应。解决方法...

OpenGL —— glGenBuffers

发布时间:2022-10-17 C++ OPENGL学习笔记 QT
voidglGenBuffers(GLsizein,GLuint*buffers);创建顶点缓存对象参数:@n要生成的缓冲区对象名称的数目@buffers生成的缓冲区对象名称数组glGenBuffers在缓冲区中返回n个缓冲区对象名称。不能保证这些名称形成一组连续的整数;但是,可以保证在调用glGenBuffers之前没有使用任何返回的名称。调用glGenBuffers返回的缓冲区对象名称不会由后...

【求助】fcitx5-qt5安装

发布时间:2022-11-22 QT UBUNTU
系统:ubuntu20.04(kde桌面)安装:fcitx5-fontend-qt问题:提示需要qt-base-abi-5-12-8E:无法修正错误,因为您要求某些软件包保持现状,就是破坏了软件包的依赖关系...

QT汉字Unicode十六进制乱码转化成正常显示的QString

发布时间:2022-11-08 QT 开发语言
QT中遇到从QString::fromUtf8中得到的中文字符串是Unicode最近正在做一个嵌入式设备的WIFI模块,其中有个需要获取附近热点列表的功能,从驱动读出的热点名称是constchar*类型的数据,当热点名称中包含汉字的时候,使用QStringQString::fromUtf8(constchar*str,qsizetypesize)中得到的QString是Unicode,如\\0xf...

Qt TableView右键弹出菜单

发布时间:2022-11-23 QT教程 QT C++ QT开发 QT5
TableView右键弹出菜单关于TableView的控件使用,这里不做解释了,直接说诉求,右键点击选中的某一行(术语称item),弹出菜单。操作结果如下图:实现过程主要包括以下几个重点:1、初始化一个TableView控件表主要需要完成表头的设置,表格属性的设置。代码如下:point_time_model表示TableView控件对应的model:point_time_model=newQSta...

Qt程序的打包和发布(使用windeployqt)

发布时间:2022-11-05 QT 开发语言
将编写完成的Qt程序进行打包,使得没有安装Qt环境的电脑也可以运行编写完成的应用。1.Release文件生成在QtCreator中,将构建方式改为Release,点击运行(或ctrl+r快捷键运行)。2.找到exe文件,复制到一个空目录中在文件夹中找到刚生成的release文件,(笔者生成的文件名为build-LineChartTest-Desktop_Qt_5_14_2_MinGW_32_bit...

Qt 线程基础(QThread、QtConcurrent等)

发布时间:2012-04-06 QT QT 开发 THREAD 多线程 OBJECT 工作 任务
Qt线程基础(QThread、QtConcurrent等)转载自:http://blog.csdn.net/dbzhang800/article/details/6554104 昨晚看Qt的Manual,突然发现下一个版本的Qt中(Qt4.7.4、Qt4.8等)增加了一个特赞的介绍多线程的文章:ThreadBasics注意:该链接以后会失效,但是到时候你直接看Qt自带Manual就行了本文不是严格...

QT笔记——QT类反射机制简单学习

发布时间:2022-11-18 QT开发 QT LINUX
以下两个网文,都有代码例子,可以前往查看摘抄如下:使用Qt反射机制的条件1.需要继承自QObject类或者它的派生类,并需要在类中加入Q_OBJECT宏2.注册成员函数:若希望普通成员函数能够被反射,需要在函数声明之前加入Q_INVOKABLE宏。3.注册成员变量:若希望成员变量能被反射,需要使用Q_PROPERTY宏。4.注册枚举变量:若希望枚举能被反射,需要使用Q_ENUM或者Q_FLAGS宏...

如何使用全局变量QT

发布时间:2022-11-17 QT C++ QT学习之路 全局变量
兩種方法:第一:使用extern關鍵字聲明(不推薦,破壞了封裝性)第二:新建一個類,存放全局的變量,函數 第一:使用extern關鍵字聲明(不推薦,破壞了封裝性)在一个头文件中声明intvar_name全局变量,在另一个cpp文件中引用此变量:externintvar_name;指出var_name是在外部文件定时的变量,编译器会自动在所有文件中查找var_name的定义,如:aaa.h:#ifn...

vscode配置qt/c++开发找不到头文件的问题

发布时间:2022-11-22 C++ QT VSCODE
基本配置请看bilibili教程:使用VScode开发构建Qt项目_哔哩哔哩_bilibili问题说明:系统自动添加的源文件可以随意添加Qt头文件(QThread,QUdpSocket等),但是自己再添加源文件时头文件找不到,如图 提示为在当前路径下找不到该头文件,这说明vscode设置的头文件路径识别并不起作用, 问题解决:找到问题首先参考:#include在vscode中检测到的错误|打开c_...

qwt6.1.2静态编译

发布时间:2016-05-26 QT
qwt静态编译需要用到静态的qt1.打开qwt目录下的qwtconfig.pri文件;2.将第27行[cpp] viewplain copyQWT_INSTALL_PREFIX    = C:/Qwt-$$QWT_VERSION  改为[cpp] viewplain copyQWT_INSTALL_PREFIX    = C:/Qwt-$$QWT_VERSION-static  3.注释掉第75行...

Qt静态编译

发布时间:2014-09-14 QT
Qt默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:1.将C:\Qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的QMAKE_LFLAGS  =-enable-stdcall-fixup-Wl,-enable-auto...

Q_DECLARE_METATYPE编译错误

发布时间:2022-11-23 C++ QT
问题近期使用了Q_DECLARE_METATYPE这个宏,注册了一些东西供信号槽使用,期间遇到了一个疑难杂症编译问题。如下:namespaceBase{ structSAIPointInfo { doubleH_Angle; doubleV_Angle; SAIPointInfo(){} SAIPointInfo(doubleh=0.0,doublev=0.0):H_Angle(h),V_...

Qt在VS 2008下的安装与编译

发布时间:2012-09-11 QT 百度 平台 出版 2010 文档
说明:按照电子工业出版社的要求,书籍《Qt中的C++技术》阐述了如何在VisualStudio2010上安装、编译Qt。一些用户仍然喜欢使用VisualStudio2008,因此,本人在百度文库上传了文档《Qt在VS2008下的安装与编译》,阐述了如何在该平台上安装、编译Qt4.7.1。...

VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布 - Inchroy's Blog - 博客频道 - CSDN.NET...

发布时间:2012-05-31 QT VS2008
VS2008环境中完美搭建Qt4.7.4静态编译的调试与发布-Inchroy'sBlog-博客频道-CSDN.NET   VS2008环境中完美搭建Qt4.7.4静态编译的调试与发布2011-10-2722:12884人阅读评论(3)收藏举报  为什么要在VS2008中使用QT静态编译呢?很简单,因为VS2008编译器编译出来的文件比mingw编译的要几乎小一半。 好了现在我们来做些准备工作,VS...

qdilog

发布时间:2012-12-23 QT LINUX UBUNTU
 Qt学习中,HaHa-_-................ #ifndefFINDDIALOG_H#defineFINDDIALOG_H#include<QDialog>classQLabel;classQPushButton;classQCheckBox;classQLineEdit;classFindDialog:publicQDialog{Q_OBJECTpublic:Find...

Qt面试总结

发布时间:2022-10-31 C++ QT 笔记 经验分享
一、Qt信号槽机制与优势与不足优点:类型安全。需要关联的信号槽的签名必须是等同的。即信号的参数类型和参数个数同接受该信号的槽的参数类型和参数个数相同。若信号和槽签名不一致,编译器会报错。松散耦合。信号和槽机制减弱了Qt对象的耦合度。激发信号的Qt对象无需知道是那个对象的那个信号槽接收它发出的信号,它只需在适当的时间发送适当的信号即可,而不需要关心是否被接受和那个对象接受了。Qt就保证了适当的槽得到...

qmake language ~= 字符串替换操作 正则表达式

发布时间:2022-12-03 QT QMAKE
qmakelanguage的字符串替换操作的规则为:VAR~=s[seprator]pattern[seprator]replace[seprator]?[gqi]1、必须以s开头2、seprator需要自己指定,可以是任意字符3、pattern为正则表达式的内容,可以参看正则表达式规则:正则表达式(全) 4、replace表示要替换成的目标内容,用于替换VAR中存放的字符串中满足pattern的...

Qt 阿里巴巴普惠体2.0的坑

发布时间:2022-11-24 C++ QT
阿里巴巴普惠体下载: DownloadAlibabaSans在使用fontloader加载普惠体时发现与设计稿对不上,bold号字体比medium号字体明显细,当使用其它字体时又正常。在官方文档时发现一句话,其它的八种字体直接在office上即可使用,但是85Bold需要通过B按钮呼出,证明Bold字体需要特殊处理,(个人建议直接将bold设为true) ...

QT报表开发(limereport + QAbstractTableModel)

发布时间:2022-11-14 QT 数据库
一、简介limereport是俄罗斯人QT开发的报表设计器,功能很强大,简单容易上手。网上有编译和读取数据库的教程,在此我不累述,本文主要介绍通过Qt的tablemode加载数据。二、主要代码1)重新了QAbstractTableModel通过,数据封装在结构体里。AlarmQueryModel*m_pModelAlarmQuery=newAlarmQueryModel();QList<St...

qt通过修改label标签页实现界面的滚轮缩放与拖动

发布时间:2022-11-02 QT 开发语言
网上诸多通过 QGraphicsView 实现 可以响应鼠标事件,绘制选择的点,同时可以进行放大缩小操作。但不妨考虑可以将照片绑定在label标签上,然后通过修改标签的大小和移动标签的位置从而实现滚轮缩放与鼠标拖动,思路有了,上代码。重写鼠标滚轮函数:voidmainUI::wheelEvent(QWheelEvent*event){intx=QCursor().pos().x();//获取当前鼠...

【Python_PySide2学习笔记】QPushButton设置背景图片

**QPushButton设置背景图片\设置自定义图标,自适应QPushButton大小****前言:在做项目时需要将Button的背景全部改成要替换的图片,在网上查阅资料发现只有给QPushButton设置图标的方法,图标不能完全自适应Button的大小,针对此问题尝试很多方法后,用setStyleSheet方法得以解决。**正文项目基于Pyside2实现GUI,下面是通过QtDesigner实...

qt之QPainter绘制不规则图形

发布时间:2022-11-23 QT实战 QT 开发语言
#ifndefCPAINTERTEST_H#defineCPAINTERTEST_H#include<QWidget>#include<QPainter>classCPainterTest:publicQWidget{Q_OBJECTpublic:explicitCPainterTest(QWidget*parent=nullptr);voidpaintEvent(QPai...

基于PyQt5完成的PDF合并

发布时间:2022-06-08 QT 开发语言 PYTHON
PyQt是Qt框架的Python语言实现,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,具有更方便的操作性。学过VB的同学会知道,相比与VB的使用,在界面设计上元素更丰富。本文就是基于PyQt5完成的PDF合并功能,先看界面: 一、界面PdfH.ui可参考上文如何实现,程序代码如下:fromPyQt5importQtCore,QtGui,QtWidgetsimportbase6...