首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
qt connect disconnect 成对
2024-09-01
很多人以为 connect 和 disconnect 应该像 new 和 delete 一样成对出现 这是错误的(只要 sender 或 receiver 其中之一不存在了,connect 会自动失效。QObject::connect 函数是线程安全的)
其实我写文章也是边查资料边编辑的 有时候是怕自己的阐述不严谨,有时候是怕自己重复造轮子 就像有些人不停的教大家QLabel QDialog QWidget 个人是不屑的 命令模式 用 Qt's Undo Framework 来举例最恰当不过了 QUndoCommand Class 里简单介绍了下用法 class AppendText : public QUndoCommand { public: AppendText(QString *doc, const QString &text) : m_
Qt Connect 信号 槽
信号和槽机制是 QT 的核心机制 .信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方.信号和槽是 QT 自行定义的一种通信机制,它独立于标准的 C/C++ 语言,因此要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的 QT 工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码. 在QT中,connect()函数是关联部件的动作与执行的函数. 在启动函数中进行设置
Qt connect parent widget 连接父控件的信号槽
Qt中的信号槽系统是不同类中间传递数据的神器,如果连接父子空间之间的信号槽很重要,在父类中实例化子类的时候一定要注意将父类连上,不然信号槽无法使用,比如若子类是个对话框Dialog类,一定不要忘了加this QtClass *qc = new QtClass(this); qc->exec(); 然后如果需要连接到父控件的槽函数,只需在子类的构造函数中加一句: connect(this, SIGNAL(signal()), parentWidget(), SLOT(slot()));
Qt ---------- connect连接类型
Qt::AutoConnection 0 (Default) If the receiver lives in the thread that emits the signal, Qt::DirectConnection is used. Otherwise, Qt::QueuedConnection is used. The connection type is determined when the signal is emitted. Qt::DirectConnection 1 The
QT程序打包成多平台可执行文件
一.简述 QT项目开发完成后,需要打包发布程序,在实际生产中不可能把源码发给别人,所以需要将源码打包正可执行文件或者安装程序. 二.设置应用图标 把 ico 文件放到源代码目录下,在QT项目中的'.pro'文件中添加自己准备好的ico文件(使用QT默认生成的图标时,可以跳过这一步) RC_ICONS = user.ico // user.ico是自己的图标名称 三.打包windows系统下的可执行文件 以 Release 方式编译生成 exe 程序,也就是使用Release模式调试程序. 编译完
Qt程序打包成exe可执行文件图文教程(图文并茂,且用到了filepack)
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文件后,就会生成很多小文件,其实原理都一样,只是各自使用的打包工具不能罢了. 本文主要介绍在Windows平台如何打包自己的Qt程序,相对比较简单的,这并没有正规软件的向导流程. 在Windows系统中,要打包Qt程序,主要会用到3个工具包,分别是: 1.hap-depends 查看软件的依赖库
Qt程序打包成exe可执行文件
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文件后,就会生成很多小文件,其实原理都一样,只是各自使用的打包工具不能罢了. 本文主要介绍在Windows平台如何打包自己的Qt程序,相对比较简单的,这并没有正规软件的向导流程. 在Windows系统中,要打包Qt程序,主要会用到3个工具包,分别是: 1.hap-depends 查看软件的依赖库
Qt QQuickView设置成无边框无标题栏
#include <QGuiApplication> #include <QQmlApplicationEngine> #include <QQuickView> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQuickView view; view.setFlags(Qt::FramelessWindowHint); // 窗口无边框,无标题栏 view.setSource(Q
Qt 域名转成IP
#include <stdio.h>#include <stdlib.h>#include <netdb.h>#include <arpa/inet.h>struct hostent *h; QByteArray ba = ui->lineEdit->text().toLatin1(); h = gethostbyname(ba.data()); if(h == NULL) { qDebug()<<"get hostbyna
Qt:打包成可执行文件(exe文件)后出现Driver not Loaded的解决方法
问题 在当前电脑上打包为exe可以正常执行,发送给另一台电脑后却无法执行,并且出现"Driver not loaded"的提示框. 可能原因 1.另一台电脑上没有MySQL(或exe文件中用到的数据库) 2.缺少与另一台电脑上的对应数据库对应的SQLDriver,就是这两个文件: 解决(以MySQL数据库为例) 1.先检查该电脑上是否安装了mysql: 2.如果安装了,就到mysql的目录下的lib目录中,找到这两个文件,把它们复制到exe同级目录下即可
利用qt打开一张图片并转成灰度矩阵
首先是mat类,这个类的主要作用是构造一个容器,并将对应像素的灰度值放在容器内 #ifndef MAT_H #define MAT_H #include <vector> #include <qimage.h> #include <qstring.h> class mat{ public: mat(){} mat(QImage &img):width(img.width()), height(img.height()),_img(img){} //构造函数,通过
QT开发之旅一DS7400主机调试工具
接触QT三年有余,期间因为工作需要断断续续学习过,2010年开始接触,当时好像是4.7版本,现在都已经到5.2版本了,更新真快,前阵子安装了下5.2版本,还是有很多变化的,不过感觉好像编译速度慢了很多,而且编译出来的可执行文件需要附带的DLL多了很多,感觉不爽,所以还是回到了4.7版本的开发,一个重要原因是现在大部分的开发板都移植好了4.7版本的运行库,可以方便的将WINDOWS程序移植到嵌入式linux下,5.0以上的版本貌似还没有哪家公司移植到了嵌入式linux上,估计有很多个人已经移植过.
QT Embedded二三事之QObject的元对象
一.元对象 元对象被称做是meta object.在运行时刻(runtime),能够提供对象的运行时信息. 在C++语言发展的早期,C++语言本身没有定义对象的运行时信息,如输出类的名称,父类的名称,判断对象的继承关系等等.虽然新的C++语言增加了RTTI,但还是不够的.这些信息在面向对象编程和调试程序过程中是非常有用的.因此不同的类库采取了不同的方式来扩展语言. MFC的实现方式是宏定义:如 DECLARE_DYNAMIC,DECLARE_D
QT类的继承结构
QT类的继承结构 QT的类 core 数据集合 QString 几何类 QPoint QSize QRectangle 系统类 QColor QFont QImage QIcon QCursor QBitmap ... gui 窗体类 |-框架窗体 QMainWindow(SDI/MDI)[菜单/工具条/状态条/带文档与视图] |-对话框窗体QDialog[模式对话框/非模式] 组件 显示组件 输入组件 按钮 容器 菜单 布局组件 高级数据组件 表格/树型 窗体类的结构 QObject
Foundations of Qt Development 学习笔记 Part1 Tips1-50
1. 信号函数调用的时候仅仅会发送出信号,所以不需要执行 ,所以对于信号声明就行,但是不需要进行定义. 2. 只有槽函数可以声明为public,private,或者是protected的,而信号不行.可以将slot仅仅看成是一个与信号相关联的成员函数. 3. Qt的元对象指的是QMetaObject的实例,Qt中的元对象系统是用来处理对象间通讯的信号/槽机制.运行时的类型信息和 动态属性系统.虽然你使用QObject作为一个基类而不使用Q_OBJECT宏和元对象代码是可以的, 但是如果Q_OBJ
QT项目升级(QT4.6.3到QT5.2)时,遇到的问题和解决方法
QT4升级到QT5修改: PC部分: [改QTDIR变量] 在project根文件夹下找到.user文件, 如InnoTabPlugin.vcxproj.user 改动指向你的QT5根文件夹: <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Template|Win32'"> <QTDIR>C:\qt\Qt5.2.1\5.2.1\msvc2010</QTDIR> </Prop
【Qt开发】QT4 升级到 QT5 改动
QT4 升级到 QT5 改动: PC部分: [改 QTDIR 变量] 在工程根目录下找到 .user 文件 , 如 InnoTabPlugin.vcxproj.user 修改指向你的 QT5 根目录: <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Template|Win32'"> <QTDIR>C:\qt\Qt5.2.1\5.2.1\msvc2010</QTDIR> <
QT踩坑记录1-Q_OBJECT编译问题
QT踩坑记录1-Q_OBJECT编译问题 QTC++Bugs 错误输出 Q_OBJECT 宏错误的地方会编译出现这样的错误, 无法找到.... 由于自己不想再看到这个错误, 此处 复制自 参考连接1, 主要是连接错误 LNK2001 , 1>LoginDlg.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall CLoginDlg::metaObject(void)cons
QT串口助手(四):数据发送
作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的发送 ascii字符与hex字符的相互转换 自动追加回车换行符(\r\n) 发送数据的统计与显示 发送清零 定时发送 涉及的知识点 QSerialPort类的使用 数据格式的转换 QTimer类的使用 控件QPlainTextEdit.QCheckBox.QPushButton.QLabel的使用 二.功能实现 在<QT串口助手(三):数据接收
VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们 所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时 就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,
Qt 无边框窗体改变大小 完美实现(全部自己实现)
近期,做项目用到无边框窗体,令人蛋疼的是无边框窗体大小的改变要像右边框那样,上下左右四周,而且要流畅. 网上也找了些代码,发现居然还要连接到windows事件,这显然不合常理,后来自己新建了demo,写了一个小时,问题太多了,扔一边先不管了. 今天需要改进UI界面,没办法了,重新整理了下思路,没想到做出来了.下面来分享下实现的过程,也许是菜鸟专栏,高手勿喷~ 1.首先大家要了解各九宫格的概念 一个窗体可以被划分为上.下.左.右.左上.左下.右上.右下.中间,除了中间部分,其他都需要写程序处理.
热门专题
vs中添加Qt资源文件重新编译也没有
wsdl客户端传服务器不存在的字段,是否会报错
linux sdl安装
android分区详解
excel adodb 连接excel 未找到提供程序
web界面交互设计的常用模式
postgres 新建用户
ngx_http_index_module指定主页
matlab中怎么给横纵刻度加粗
js 机器人 动画控制
nuget加入环境变量
elementui表单居中
video 结束后的方法
shardingjdbc 扩容
Python怎么通过长度来显示对应内容
OpenStack登录创建云主机流程图
安卓24节气日历代码
echarts uniapp折线图unieccanvas
scrcpy控制手机
windows10怎么开数字锁定