Qt学习小记
苏格拉不加底
这个作者很懒,什么都没留下…
展开
-
Qt实现程序单实例运行(QLocalServer)
效果:程序启动后会单实例运行,运行时点击exe不会出现新实例。SingleApplication.h#ifndef SINGLEAPPLICATION_H#define SINGLEAPPLICATION_H#include "temp.h"#define TIMEOUT 500class SingleApplication : public QApplication{ Q_OBJECTpublic: SingleApplication(int &argc, ch原创 2022-03-22 10:33:42 · 1224 阅读 · 0 评论 -
QLabel实现针对纯英文或数字换行
QLabel面对有空格等特殊符号或中文时可以自动换行,只需要设置setWordWrap(true)即可。当面对英文与数字、英文符号(如 '.'就是英文符号,‘。’就是中文符号)时,QLabel无法自动换行。下面利用QFontMetrics实现换行,该类通过对font属性进行解析,提供指定font下的字符、字符串宽度等获取接口。一般来说,上述所提字符(统称英文数字符号)的宽度基本一致,也为我们利用该类手动换行提供了方便。总体思路就是:获取总长度确定是否换行;获取label宽度能容纳的最长子串;截取字符串并原创 2022-01-05 17:25:28 · 2354 阅读 · 1 评论 -
qt隐式加载VS2015生成的dll && 无法解析的外部符号_declspec(dllimport)
由于不想使用QLibrary,一直都在找最简单的办法。以下是我跑通的整个过程:刚开始项目环境:VS2015生成的TestDll(以下简称TD),Qt只有mingw32环境;经过多次尝试都会报一堆头文件错误,最后尝试下载msvc2015环境去加载dll。由于我是win7 32位环境,所以我又找到了一个5.8版本msvc2015环境,官网无法下载,可以看这里安装后,先把之前VS2015生成的TD.dll、TD.lib、TD.h(头文件要在创建VS项目时选择导出符号)放到一个API文件夹里,这个文件夹就是原创 2022-01-03 16:33:17 · 1850 阅读 · 0 评论 -
MSVC2015 Qt下载
官网开源版本下载地址:链接但是官网5.2-5.8的版本都消失了,需要在链接下载原创 2022-01-03 14:04:00 · 706 阅读 · 0 评论 -
Qt使用QNetworkAccessManager请求https(mingw64)
尝试了多种办法,现在记录下来。查看qt支持类型#include <QDebug>#include <QSslSocket>#include <QNetworkAccessManager>qDebug()<<QSslSocket::supportSsl()<<QSslSocket::sslLibraryBuildVersionString();QNetorkAccessManager *manager = new QNetorkAcces原创 2021-10-20 17:28:03 · 1522 阅读 · 2 评论 -
QTextEdit取消内容选中和设置内容自适应
取消内容选中我想设置QTextEdit在focusOut时取消之前被选中的内容。QTextEdit拥有cursor position和anchor position两个position(加前缀用于区分),在没有内容选中时,两者的位置是一样的;反之当有内容选中时,两者分别位于选中内容的两端。QTextEdit没有提供设置anchor的函数,所以通过移动cursor position使两者重新到达同一位置即可。然而经过以下几种办法,皆没有反应,记录在此,以后找原因。int nPos = ui->tex原创 2021-09-22 20:29:30 · 1281 阅读 · 0 评论 -
QListWidget自定义item(包括widget)底部有空白的问题
是因为verticalScrollMode问题。它有两种形式,一种默认按每次一个item滚动,另一个默认按每次一个像素滚动。修改下按像素滚动就好了listWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);原创 2021-07-31 17:05:26 · 2259 阅读 · 0 评论 -
Qt获取屏幕分辩率和物理屏幕大小
使用前需要在pro文件里引入Qt += gui#include <QScreen>#include <QGuiApplication>----------------QScreen *screen = QGuiApplication::primaryScreen();//整个屏幕的大小QRect rect = screen->geometry();//除了任务栏或菜单栏之外可用屏幕的大小#QRect rect = screen->availableGe原创 2021-07-26 14:23:53 · 2279 阅读 · 0 评论 -
qt问题之no known conversion from ... to “const QObject *“ ...
函数体connect(socket, SIGNAL(readyRead()), this, SLOT(hasPendingMessage()));解决办法:强制转换connect(socket, SIGNAL(readyRead()), (const QObject *)this, SLOT(hasPendingMessage()));原创 2021-07-01 16:41:36 · 2285 阅读 · 0 评论 -
Qt获取本地主机当前用户名
暂时用过两种方法,一种通俗易懂,民间把式,获取本地根目录的目录名;另一种高级点,海纳百川,采众家之所长,可以同时获取到其他需要的系统环境,简单列几个包括USERNAME、USERDOMAIN、HOMEDRIVE、HOMEPATH等。只要用户名#include <QDir>QDir dir;QString userName = dir.home().dirName(); 其他环境信息需要包含QProcess,下面打印出所有环境信息#include <QDebug>#i原创 2021-06-09 14:29:27 · 991 阅读 · 0 评论 -
Qt之SelectionMode
SelectionMode继承自QAbstractionView类,该类是每个使用了QAbstractItemModel的标准视图的基本类,从它名字就可以看出,它是一个抽象类(自身不能被实例化),通过信号与槽机制为其与模式之间的相互操作提供一个标准接口,使子类能根据模式的变化保持最新。类型值描述NoSelection0不能选择项SingleSelection1只能选择一项,选中项与当前项为同一项,可以通过Ctrl+Click取消选择MultiSelection2原创 2021-06-04 11:17:21 · 3299 阅读 · 0 评论 -
QNetwork
Qt文档之QNetWorkAccessManager前言QNetWorkAccessManager Class教程功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言最近在看Qt网络相关,正好记录些Qt文档的知识,方便后面自己参原创 2021-06-03 10:12:45 · 369 阅读 · 0 评论