![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
力战者
力战者,天酬!
展开
-
QT d_ptr 学习
Q_D指针在QT源码中大量的使用,其根本目的在于解决二进制兼容问题。何为二进制兼容?1.动态链接到库的前一个版本的程序继续与库的新版本一起运行而不需要重新编译,则库是二进制兼容的。2.程序需要重新编译以使用新版本的库运行,但不需要任何进一步的修改,则该库是源代码兼容的。让所有的共有类都拥有一个指针,这个指针包含所有数据的私有数据结构。这个指针就是称为d指针的Q_D指针。起源:基类/* DObject 基类 *//*** DObject.h ***/class原创 2021-12-16 23:21:52 · 505 阅读 · 0 评论 -
QT VS2017 源码调试出现Qt5cored.pdb 解决方法
1、首先明确你的版本,然后修改下面中连接的版本号,5140代表5.14.0版本。Index of /online/qtsdkrepository/windows_x86/desktop/qt5_5140/qt.qt5.5140.debug_info.win32_msvc20172、下载已下两个文件5.14.0-0-201912110700qttools-Windows-Windows_10-MSVC2017-Windows-Windows_10-X86-debug-symbols.7z5.14.原创 2021-10-08 15:46:25 · 741 阅读 · 2 评论 -
QT使用qt.conf文件来部署应用程序
起因:This application failed to start because itCould not find the Qt platform plugin "cocoa" in ""后经查证是没有macdeployqt进行部署,程序内没有平台依赖库Plugins文件Qt程序启动时会用QLibraryInfo类载入qt.conf文件, 按下面的路径顺序搜索 :资源系统, :/qt/etc/qt.conf Mac系统下会在资源目录, 例如:assistant.app/C...原创 2021-08-12 11:15:25 · 1429 阅读 · 0 评论 -
linux qt creator 无法调试
ubuntu linux操作系统,现象是qt creator 一启动调试,就提示"you can't do that without a process to debug"。网上的解答大多是把程序设置成debug模式,但是不生效。下面 介绍解决方案 1、在/etc/ld.so.conf.d文件夹中新建一个文件,比如Qt.so.conf, 2、其中加入一行语句/home/Qt5.9.9/Tools/QtCreator/lib注意要换成你机器上的qt creator...原创 2021-06-29 18:29:58 · 1193 阅读 · 0 评论 -
QT设置引用路径问题
在Linux中添加动态库路径可以设置LD_LIBRARY_PATH路径。如添加/mylib动态库路径:export LD_LIBRARY_PATH=/mylib/:$LD_LIBRARY_PATH除了上面方法外,我们还可以使用编译参数 -Wl,-rpath=<动态库路径>。-Wl为gcc的参数,表示「编译器将后面的参数传递给链接器ld」。 -rpath为在运行链接时,会优先搜索-rpath的路径。QMake写法1:QMAKE_LFLAGS为指定传递给链接器...原创 2021-04-01 18:51:43 · 4693 阅读 · 0 评论 -
QT 信号和槽
信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。信号和槽是Qt特有的信息传输机制,是Qt设计程序的重要基础,它可以让互不干扰的对象建立一种联系。为此Qt引入了一些关键字,他们是slots、signals、emit,这些都不是C++关键字,是Qt特有的,这些关键字会被Qt的moc转换为标准的C++语句。Qt的部件类中有一些已经定义好了的信号和槽,通常的作法是子类化部件类,然后添加自已的信号和槽。槽的本质是类的成员函数,其参数可以是任意类型的。和普通C++成员函数几乎没有区别,它原创 2021-03-21 17:22:56 · 97 阅读 · 0 评论 -
信号槽如何传递参数(或带参数的信号槽)
第一点:当信号与槽函数的参数数量相同时,它们参数类型要完全一致。信号: void iSignal(int b);槽:void MainWindow::iSlot(int b){ QString qString; qDebug()<<qString.number(b);}信号槽绑定:connect(this, SIGNAL(iSignal(int, float)), this, SLOT(iSlot()));发送信号:emit iS.原创 2021-03-14 23:29:27 · 1756 阅读 · 0 评论 -
Qt对象树
当创建的对象在堆区时,如果指定的父亲是QObject派生下来的类或者是QObject子类派生下来的类,可以不用管理释放的操作,对象会被放入到对象树中。一定程度上简化了内存回收机制从QObject继承下来的控件,在初始化的时候都可以为其指定一个QObject *parent的指针,这个指针的作用就是指定它是那个控件下面的子控件。这个时候,Qt就会把这个控件添加到parent的children()列表中;当parent执行析构操作的时候,会自动逐个析构children()列表中的控件,达到一个不是很自动原创 2021-03-14 15:57:21 · 408 阅读 · 0 评论 -
QT 基础知识
setupUi(this)是由.ui文件生成的类的构造函数,这个函数的作用是对界面进行初始化,它按照我们在Qt设计器里设计的样子把窗体画出来,把我们在Qt设计器里面定义的信号和槽建立起来。也可以说,setupUi 是我们画界面和写程序之间的桥梁。setWindowFlags :Qt::FrameWindowHint:没有边框的窗口 Qt::WindowStaysOnTopHint://总在最上面的窗口 Qt::CustomizeWindowHint://自定义窗口标题栏,以下标志必须与这个标志原创 2021-03-14 15:38:00 · 268 阅读 · 0 评论 -
setStyleSheet来设置图形界面的外观
使用setStyleSheet来设置图形界面的外观:QT Style Sheets是一个很有利的工具,允许定制窗口的外观,此外还可以用子类QStyle来完成,他的语法很大比重来源于html的CSS,但是适用于窗口。概括:Style Sheets是文字性的设定,对于整个应用程序可以使用QApplication::setStyleSheet() 或者对应一个窗口可以使用QWidget::setStyleSheet(),如果好几个样式表在不同的层次上设定,QT将会集合所有的样式表来设定外观,这称作级串联原创 2021-03-14 15:14:03 · 214 阅读 · 0 评论 -
QT .pro文件详解
QT指定工程中使用的Qt的模块。默认情况下会使用Qt的core和gui模块。QT += core gui基础模块简介:https://www.cnblogs.com/lvdongjie/p/4809319.htmlTARGET指定所生成.exe或.dll文件的名字。TARGET = FiberMgr //应用程序名TEMPLATE = app //类型DEFINESqmake添加该字段指定的全局宏定义。VS中也有类似的全局宏定义,在.dl..原创 2021-03-14 14:54:18 · 383 阅读 · 0 评论 -
QT :Unable to create a debugging engine
现象:在 QtCreator中以调试模式运行程序时出现以下错误:解决办法:1、在Windows 10中,设置-->应用-->应用和功能,找到:2、勾选change,点击“Next”:3、在Debugging Tools for Winodows选项前打上勾。点击“Change” 安装。4、重新启动Qt Creator。...原创 2021-03-11 15:38:31 · 226 阅读 · 0 评论 -
Qt中IPC(进程间通信)的方式一:WM_COPYDATA消息
数据复制消息WM_COPYDATA是Windows中一个特殊的消息,通过这个消息能够在进程间传递数据。WM_COPYDATA消息含两个參数WPARAM wParam和LPARAM lParam,WPARAM和LPARAM是匈牙利命名法,历史更迭,WPARAM指32位整形变量,LPARAM指32为整形变量指针。发送WM_COPYDATA时,wParam赋值为发送此消息的窗体,lParam则指向一个COPYDATASTRUCT结构: typedefstruct{ ...原创 2021-01-29 15:26:31 · 573 阅读 · 0 评论