
QT
ppipp1109
积累,进步 vx:iyp1109
展开
-
Qt在ubuntu无法输入中文的解决
ubuntu安装了Qt, 遇到无法输入中文的问题,但是都是在fcitx遇到,使用ibus是可以输入中文的,在这里我是使用的fcitx,搜狗输入法,原因是缺少fcitx的支持库libfcitxplatforminputcontextplugin.so,来看看解决办法。1.首先安装fcitx-frontend-qt5(这个好像都是默认安装了的)sudo apt-get install fcitx-frontend-qt52.然后查看fcitx-frontend-qt5 的安装目录dpkg -L原创 2021-01-11 11:11:49 · 2098 阅读 · 2 评论 -
Qt 报错 -1: error: fatal error: no input files
问题描述:Qt 新添加已存在的几个文件,然后编译报错-1: error: fatal error: no input files经查发现是在pro 文件中 SOURCES += 中有两个连续 \\注意:qmake 语法里每增加一个源文件或一个配置用一个斜杠结束,如果两个斜杠连续出现,则表明有一个空输入,但Qmake不规避空文件输入,导致传递给GCC,GCC编译空文件时出差.解决:删除连续两个斜杠中的一个...原创 2020-08-24 09:58:16 · 5392 阅读 · 6 评论 -
Qt Creator 自动补齐变慢的解决
在 帮助->关于插件->C++选项卡中,取消ClangCodeMode ,如下图:原创 2020-05-27 16:14:29 · 1876 阅读 · 2 评论 -
QT 开发经验与技巧 超强总结(转)
原文链接:https://blog.youkuaiyun.com/feiyangqingyun/article/details/90737357一、开发经验总结1. 当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。2. 定时器是个好东西,学会好使用它,有时候用QTimer::singleShot可以解决意想不到的问题。3. 打开creator,在构建套件的环境中增加MAKEFLAGS=-j8,可以不用每次原创 2020-05-12 11:23:02 · 3209 阅读 · 1 评论 -
QT 编译pro小技巧
总结了一些Qt黑科技,欢迎大家及大神积极补充,谢谢。1:编译前复制文件src_file = $$PWD/py.dbdst_file = $$OUT_PWD/bin/py.dbwin32 {src_file ~= s,/,\\,gdst_file ~= s,/,\\,g#system(copy /ysrcfilesrcfiledst_file)}unix {system(cp -r -fsrcfilesrcfil...原创 2020-05-12 10:52:11 · 1213 阅读 · 0 评论 -
UR 机器人HMI 交互界面开发记录
UR机器人的技术协议可以到官网主页下载,我这里整理了一份。稍后上传到csdn,有需要的可以下载。功能实现了机器人的操作,IO设置于显示,dashboard发送接收反馈的调试功能等。同时软件也支持多台UR机器人独立操作。UR机器人支持的协议很多,可以根据自己的需要,选择合适的协议进行通信通信端口有modbusTCP端口(502)没研究Dashboard端口(29999...原创 2020-04-21 18:32:40 · 1447 阅读 · 3 评论 -
Qt之 按钮形状不规则 ---通过贴图实现
在应用开发中,有时候为了美观会在UI界面中增加不规则的按钮Qt实现不规则按钮只需要一个函数就能搞定:setMask()以QToolButton 为例:实现的主要代码如下 QPixmap tmpPixmap; tmpPixmap.load(":/png/Z+.png"); ui->toolButton_ZAdd->resize(tmpPixmap....原创 2020-03-31 15:42:19 · 1698 阅读 · 0 评论 -
Qt之 QpushButton 实现长按下状态触发功能
最近有一个需求,按下按钮时,收据开始接收,松开按钮,停止接收。但是QT的QPushButton不像mfc中的按钮只要按住就会一直发一个消息,它只会发一次pressed信号,解决办法:就是收到pressed信号时创建个定时器,定时器不停触发一个槽函数,松开按钮时收到released信号,停止定时器。例子:QTimer *timer = new QTimer;connect(ti...原创 2020-03-31 15:31:07 · 9182 阅读 · 2 评论 -
QT样式设置之 QSpinBox样式中 按钮箭头变换位置
网上介绍qss的的文章真心的很少,搜遍的国内外网站,找到了qspinbox,qtimeedit等控件的stylesheet样式方法。原本的qspinbox和qtimeedit等控件样式如下图:加和减的箭头都放在了右侧,而且比较小,点起来非常的不方便。而且现在又是往一个7寸屏幕的板子上写应用程序,这种样式的qspinbox确实不符合要求。我想要是样式是,把上下的箭头放到左侧和右侧,分别对应加...原创 2020-03-05 15:08:41 · 9206 阅读 · 0 评论 -
Qt 样式设置之 QCheckBox 样式表
QCheckBox { color:red; background-color:rgb(101,101,101);}QCheckBox::indicator { /* 选择框尺寸 */ width:13px; height:13px;}QCheckBox::indicator:unchecked{ border-image:url(:/...原创 2020-03-05 11:35:53 · 10823 阅读 · 0 评论 -
QT样式表设置 之 QComboBox下拉框样式
/* 未下拉时,QComboBox的样式 */QComboBox { border: 1px solid gray; /* 边框 */ border-radius: 3px; /* 圆角 */ padding: 1px 18px 1px 3px; /* 字体填衬 */ color: #000; font: normal normal 15px...原创 2020-03-05 10:44:23 · 21089 阅读 · 4 评论 -
Qt 应用之 MinGW编译安装GLEW
ps:在qt 下移植opengl的 glew 库的时候遇到glew 链接报错,需要自己用mingw 编译 glew步骤:1. 下载源码:http://glew.sourceforge.net/index.htmlhttp://www.grhmedia.com/glew.html其中我下载使用的是 第二个链接中的mingw-glew-2.0.0 for 32 bit2...原创 2020-01-09 00:25:45 · 1598 阅读 · 1 评论 -
Qt 应用之 MinGW编译 并使用boost库
PS:最近在使用我们的mingw qt 工程中使用 boost 的时候,需要用到一些boost 中的工具类,该类是需要通过编译,然后链接到qt中的。网上看了很多教程,有很多千篇一律的,特此提醒,能下载到的现成的不一定是能用的,倒头来还要自己摸索一遍,从头编译。移植步骤:1.下载boost 。网站链接:https://www.boost.org/users/download/...原创 2020-01-08 23:38:52 · 1670 阅读 · 0 评论 -
Qt之 去除未使用变量警报
Qt编译时经常出现以下警告:warning: unused parameter 'arg1' [-Wunused-parameter]warning: unused variable 'i' [-Wunused-variable]原因是由于某些函数参数或者某些变量未使用,这在程序当中有时候很正常;所以个人认为此警告意义不大,可以忽略它。方法一:在提示警告函数里面添加Q_U...原创 2019-12-17 16:12:03 · 1708 阅读 · 0 评论 -
css 样式大全
字体属性:(font)大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常)行高 {line-height: normal;}(正常) 单位:PX、PD、EM粗细 {font-weight...转载 2019-12-08 12:16:47 · 164 阅读 · 0 评论 -
InnoSetup 打包文件夹的解决方案
ps: 在用innosetup 打包程序的时候遇到一个文件夹的问题,想打包子文件夹并且让可执行程序放到子文件夹下,研究了一下,修改脚本即可。参考如下:(写的很明白了)Q:我用inno setup 打包安装程序时,每次在添加文件夹时是添加起了,可是总在用打包好的安装程序时,每次都会把原来添加的文件夹下的文件直接装在应用程序的文件夹里,要怎么才能改成比如说打包C:\123\12文件夹下的文件,...原创 2019-12-06 11:22:35 · 2954 阅读 · 0 评论 -
'gluPerspective' was not declared in this scope gluPerspective
最近在Window10使用Qt5.12学习OpenGL时,出现了以OpenGL中glu开头的函数库无法使用的错误,例如:'gluPerspective' was not declared in this scope在引用了类似于gluPerspective函数的glu函数库所在源文件中添加头文件:#include<gl/glu.h>这一步必须,不知道为什么在QT5.2...原创 2019-10-23 14:17:50 · 914 阅读 · 0 评论 -
Qt 5.12 使用opengl 报错error: undefined reference to `_imp__glXXX@XX'
运行环境:qt 5.12 + mingw 编译方式因为在新版本中的qt已经没有一些gl的基本库了,使用的时候会报错:如“error: undefined reference to `_imp__glXXX@XX''”解决办法:只需要在.pro文件中添加以下一行即可:LIBS += -lopengl32 -lGLU32 -lGLUT...原创 2019-10-23 13:39:00 · 3020 阅读 · 1 评论 -
windows下qt(msvc)查找crash 的方式 生成dump
上一遍我们研究了 mingw编译的程序生成dump和查找,这遍我们再研究一下msvc编译器下的qt程序其中用到的类,以及整个工程,我放到了github可以供下载参考:源码1. 生成dump文件long ApplicationCrashHandler(EXCEPTION_POINTERS *pException){{ // 在程序exe的上级目录中创建dmp文件夹 ...原创 2019-10-22 14:38:13 · 1761 阅读 · 1 评论 -
Qt lnk1158 无法运行rc.exe 解决方法
电脑重新安装了winddbg 以后发现,qt的msvc 编译工程报错 如题的错误。故研究了一下,原因是最新的windows kit 路径不对,将其添加到环境变量即可:1. 找到rc.exe 的放置路径,我这里又多个版本,我选择了最新版本的C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x642. 添加到系统的Path中...原创 2019-10-22 13:40:21 · 633 阅读 · 0 评论 -
QT 程序 ubuntu下打包发布
1. 编译 release版本的可执行程序2. 新建一个文件夹releasemkdir releasecd releasecp "你的程序" release3. 新建拷贝脚本 这里命名为ldd.sh(本质是使用ldd命令,查看程序链接的库,然后拷贝到打包文件夹中)chmod 修改执行权限 chmod +x ldd.sh#! /bin/bashEXE='test' ...原创 2019-09-09 12:38:06 · 2424 阅读 · 0 评论 -
QT 常用布局管理器
Qt布局管理详解详解 QT 布局管理界面 图文并茂QT主要布局管理器分类QHBoxLayout(水平布局)把子窗口从左到右排列在一个水平行上。QWidget *window = new QWidget;QPushButton *button1 = new QPushButton("One");QPushButton *button2 = new QPushButton...原创 2019-09-07 00:21:31 · 2386 阅读 · 0 评论 -
QT之QString 常用用法大总结
QString是Unicode字符的集合,它是Qt API中使用的字符串类。QString的成员是QChar,QChar是一个16位Unicode字符类。大多数编译器把它看作是一个unsigned short。QString和C标准中的字符串不同,C++原生提供两种字符串: 传统的C风格以’\0’结尾的字符数组和std::string类。与这些不同,QString使用16-bit Uni...原创 2019-09-06 23:37:52 · 9054 阅读 · 0 评论 -
QT 窗口 模态和非模态切换总结
1、主要讲的是对QWidget设置模态窗口第一种方法:是在构造函数中写上:setWindowFlags(Qt::FramelessWindowHint);setAttribute(Qt::WA_showModal, true); 但这种方法已经在Qt4.5中被摒弃了,因为按照这样设置,对话框是无法使用触摸屏输入法的,只能用按键输入;第二种方法:是在构造函数中写上:setWindowFlags...转载 2018-05-29 10:17:00 · 12206 阅读 · 0 评论 -
Qt 之connect 信号和槽函数连接的几种方法的总结(含signalmaper、lamda方式)
1. 最常规的用法:信号可以是插件自带的,也可以是自己定义的如: //新建一个按钮 QPushButton * btn = new QPushButton(this); btn->setText("设置"); //将信号和槽连接 其中btnclicked()为自定义的槽函数 connect(btn, SIGNAL(clicked()), th...原创 2019-09-11 01:05:04 · 41331 阅读 · 4 评论 -
如何隐藏QDockWidget的标题栏
qdockwidget 隐藏标题栏,官方没有提供相应的api,或改动源码,或找点偏方了,下面这个偏方亲测可用:需要注意,下面的setTitleBarWidget() 需要在setwidget()之后调用,不然会报错。看起来很靠谱但是不好用——QDockWidget总是会创建一个标题栏QWidget * titleBarWidget = dockWidget->titleBa...原创 2019-09-17 17:02:11 · 8261 阅读 · 1 评论 -
Qt 隐藏右键选择菜单或自定义设置右键选择菜单
1. 隐藏右键选择菜单QMainWindow上加了工具条,当在工具条上点击右键时会出现菜单,点击菜单会隐藏工具条或者是出现工具条。如果想取消在工具条上点击右键不弹出菜单可进行下列设置:this->setContextMenuPolicy(Qt::NoContextMenu); //这里的this是QMainWindow类2. 自定义设置右键选择菜单:右键菜单自定义实现:...原创 2019-09-18 00:15:48 · 2841 阅读 · 0 评论 -
QT 之 QDockWidget -设置QDockWidget的初始大小
一,问题:QDockWidget不能使用resize方法来确定初始大小,如果用setMaximumSize和setFixedSize,的确可以设置初始大小,但也限制了QDockWidget的最大尺寸,不能用鼠标拖动来改变QDockWidget的大小。二, 目的:如何不通过setMaximumSize和setFixedSize设置QDockWidget的初始大小三, 解决方案:...原创 2019-10-04 10:11:42 · 3691 阅读 · 5 评论 -
QT之 QDockWidget 应用总结
1. 简介要用QDockWidget就不得不提QMainWindow。1.1 QMainWindowThe QMainWindow class provides a main application window.QMainWindow类提供一个主应用窗口A main window provides a framework for building an application...原创 2019-10-04 10:53:00 · 5644 阅读 · 3 评论 -
Qt 内存泄漏总结
原文:Qt浅谈之一:内存泄露(总结)参考:智能指针一. 简介Qt内存管理机制:Qt 在内部能够维护对象的层次结构。对于可视元素,这种层次结构就是子组件与父组件的关系;对于非可视元素,则是一个对象与另一个对象的从属关系。在 Qt 中,在 Qt 中,删除父对象会将其子对象一起删除。 C++中delete 和 new 必须配对使用(一 一对应):delete少了,则内存泄露,多了麻烦...原创 2019-10-04 12:44:48 · 974 阅读 · 0 评论 -
QT布局之 QGridLayout中addWidget、setColumnStretch
目前用得比较多的布局是 QGridLayout,它将界面划分为若干个网格,而控件可以按需要放到对应的格子,确保了控件的准确定位。m_layout->addWidget(m_calender,0,0); //calendar放在第一行第一列m_layout->addWidget(m_tblList,0,1); //table放在第一行第二列但是我们还需要控件在窗体...原创 2019-09-06 14:36:30 · 2915 阅读 · 0 评论 -
Qt程序 打包发布与发布软件图标设置
一、release 程序发布1. Qt creator 下生成release版本的可执行文件:2. 找到生成的release版本的可执行程序,将其拷贝到一个新的单独的文件夹里用来发布,此时双击magic-fish.exe 会报错,如下图:3. 打开 Qt 命令行工具:例如:Qt 5.10.1 for Desktop (MinGW 5.3.0 32bit)然后进入到 放...原创 2019-08-26 11:41:34 · 936 阅读 · 0 评论 -
Qt 判断鼠标在某一控件上
需要注意的是,子窗口获取geometry,是相对于父窗口的相对位置,QCursor::pos()获取的是鼠标绝对位置,要不将父窗口的相对位置进行换算,要不将鼠标的绝对位置进行换算,这里本文采用将鼠标绝对位置换算到控件上,示例代码如下:if(m_btn_start->geometry().contains(this->mapFromGlobal(QCursor::pos())))...原创 2018-10-12 14:32:45 · 5678 阅读 · 0 评论 -
ubuntu 16.04 + Qt 5.10 creator 下支持搜狗输入法输入中文
在Ubuntu下的 qt creator 下想输入中文. 安装fcitx-frontend-qt5sudo apt-get install fcitx-libs-qt fcitx-libs-qt5查找库sudo find / -name "libfcitxplatforminputcontextplugin.so"我的是16.04 64位,位置在下面路径下,然后将其拷贝到 q...原创 2018-09-20 10:29:09 · 549 阅读 · 0 评论 -
qt QString 字符串的拼接,支持变量拼接的方法
在给label设置背景颜色或者填充颜色的时候想到 setStyleSheet的方法例如 label->setStyleSheet("background-color:rgb(100,100,100)");但是这里rgb的数值是固定的,怎么能组合不同的rgb 呢,一种方法是用 qstring 组合的方法 ,另外qt 也提供了一种方法来显示变量的组合 qt 中有这个api 可以用 http://...原创 2018-06-09 21:01:26 · 22242 阅读 · 0 评论 -
Qt5 + opencv3.4 + window 环境搭建 笔记
qt的编译常用的有mingw 和 msvc编译器 。对于mingw 的编译需要用cmake 重新编译源码 ,操作其实是比较简单的,本人在编译过程中出错,暂时先不用mingw ,后续再研究补充 qt5.9.4 + opencv 3.4 一. 安装下载:所用版本 Windows 7 64位OpenCV 3.4.0 https://opencv.org/opencv-3-4.htmlQT 5.9.4 ...原创 2018-06-15 17:37:32 · 8280 阅读 · 7 评论 -
QT 下实现关机操作 分linux 和windows 不同方法
Window 下介绍两种方法: 方法1: bool CMainPage::MySystemShutDown(){ HANDLE hToken; TOKEN_PRIVILEGES tkp; //获取进程标志 if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &...原创 2018-06-14 14:32:40 · 5217 阅读 · 0 评论 -
QT pro 添加带空格的路径以及添加库文件的方法总结
qt 添加某个开源库的时候,发现文件路径带有空格,无法完成编译,需要在pro 中添加路径的时候进行一下处理 方法如下::$$quote()如何添加库?看下面添加mysql路径的例子:INCLUDEPATH += $$quote(C:\Program Files (x86)\MySQL\MySQL Server 5.6\include) LIBS += -L$$quote(C:\Program F...转载 2018-05-30 17:34:42 · 2146 阅读 · 0 评论 -
Qt 中去掉标题栏 最大最小 关闭 帮助按钮等总结
有时候标题栏不显示最大最小等按钮,关闭按钮是无法不显示的,可以设置成无法按下失能的状态,但是无法隐藏不可见,只能通过重绘,如果大家有方法实现,请告之我纠正。 去掉 用&~ 显示用 | 如下:去掉关闭按钮,去掉帮助按钮: setWindowFlags(windowFlags()&~Qt::WindowCloseButtonHint&~Qt::WindowContextH...转载 2018-05-29 10:33:42 · 18502 阅读 · 4 评论 -
QT MSVC 编译器添加新类报错LNK2019 error LNK2019: unresolved external symbol "public
有点小郁闷。qt下代码本来是用的mingw 编译的,现在因为一些原因,需要改成用msvc 编译器编译,然后遇到一个奇怪的问题,具体就是我在添加一个新类的时候,总是提示无法解析的符号被引用。找了好久的原因。网上有人说是类中定义了一个函数而没有实现,我用mingw编译是通过的,换到msvc 就报错,显然原因不是这个。程序报错信息类似与下面这种 1>main.obj : error LNK201...原创 2018-06-04 17:22:38 · 3440 阅读 · 3 评论