- 博客(45)
- 收藏
- 关注
原创 QTableView固定某列宽 其他列宽自适应填充伸展
horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //所有列都扩展自适应宽度,填充充满整个QTableView宽度horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);//对第0列单独设置固定宽度setColumnWidth(0, 50);//设置固定宽度注:列宽的设置需要放在setModel之后,否则会出现异常现象...
2021-09-30 17:06:49
4404
1
原创 Visual Studio当前不会命中断点,还没有为该文档加载任何符号
使用Visual Studio打断点调试时,断点变为空心,显示当前不会命中断点,还没有为该文档加载任何符号解决办法右键项目属性->C/C++->常规,将调试信息格式修改为程序数据库(/Zi)。(注:可根据自己需求修改,不为无即可)右键项目属性->C/C++->优化,将优化修改为已禁用(/Od)右键项目属性->链接器->调试,将生成调试信息修改为是(/DEBUG)注:想在release模式下调试也是修改上述3个位置...
2021-06-24 17:26:44
634
2
原创 Qt Creator构建目录错误Error in “ Util.asciify(“***“)“: TypeError: Property ‘asciify‘ of object Core...
Qt Creator每次打开一个新项目时,构建目录都是错的***\Error in " Util.asciify("***")": TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0x72243f0) is not a function,这是因为Qt Creator在打开新项目时自动填充的。每次都要手动修改构建目录,非常麻烦。解决办法选择菜单栏 工具–>选项–>构建和运行, 在概要选项卡中找到
2021-06-24 16:33:14
890
原创 Qt绘制文本长度超宽处理
在绘制文本时经常会遇到文本长度不确定,导致绘制宽度无法确定的问题。一般这种我都是设置一个固定的绘制宽度,显示部分文本,显示不足部分用省略号表示。QString Tool::getElidedText(QFont font, QString str, int MaxWidth) const{ QFontMetrics fontWidth(font); int width = fontWidth.width(str); //计算字符串宽度 if (width >= Ma
2021-05-11 15:32:04
725
原创 Qt Creator编辑时很卡,CPU占用高解决办法
关闭Qt Creator实时编译提示插件即可解决帮助 -> 关于插件 -> C++ -> 取消ClangCodeModel -> 重启Qt Creator
2021-03-17 10:04:40
3461
1
原创 Qt文件上传下载
详情看代码及注释头文件#include <QObject>#include <functional>#include <QNetworkAccessManager>class HttpManagement : public QObject{ Q_OBJECTpublic: HttpManagement(QObject *parent = nullptr); ~HttpManagement(); /* * @brief :
2021-03-10 18:30:14
638
原创 QSettings使用
创建配置文件操作对象1、带路径QSettings settings("./config.ini", QSettings::IniFormat); 2、不带路径配置文件路径默认为C:\Users\用户名\AppData\Roaming\organization\application.ini方式一QSettings settings("organization", "application"); //organization:公司名称 application:应用名称 可根据自己需求更改
2021-03-04 11:54:29
528
1
原创 Qt Creator修改运行时库
在项目*.pro中添加Release:QMAKE_CXXFLAGS += /MTDebug:QMAKE_CXXFLAGS += /MTd或Release:QMAKE_CXXFLAGS += /MDDebug:QMAKE_CXXFLAGS += /MDd
2021-02-07 14:18:32
381
转载 QSS 基础
如果你会 CSS,那么 QSS 对你来说将会非常简单,QSS 的语法和 CSS 的愈发非常相似,但也有些不同,有些 CSS 的东西在 QSS 里被去掉了,QSS 也加了些自己特有的东西,不过大多数还是差不多的,下面以修改 QLabel 的样式为例,学习 QSS 的基础语法。QLabel{ /* 相当于 font: bold 50px "Snell Roundhand"; */ font-size: 50px; font-weight: bold; font-family:
2021-02-06 20:05:23
1060
原创 QTableView或QTableWidget设置显示行号却不显示问题
使用ui->tableView->horizonalHeader()->setVisible(true);设置显示行号,但一直没有效果。由于QSS中设置了高度导致冲突QTableView QHeaderView::section{ height: 40px;}解决办法:在QSS中不对表头设置高度,将高度设置移至代码中ui->tableView->horizonalHeader()->setFixedHeight(40);...
2021-02-05 10:45:33
3262
原创 ffmpeg音频文件格式转换(支持重采样采样位数为24位)
ffmpeg将音频文件重采样为8位、16位、32位的命令比较容易查找,但是重采样为24位却非常非常的少。ffmpeg -i 32.wav -vn -ac 2 -ar 44100 -acodec pcm_s24le -y 24.wav-i: 输入文件,这里为 32.wav-vn: 输出文件禁用视频流-ac: 设置输出文件音频通道的数量,这里为2(双通道)-ar: 设置输出文件音频采样率,这里为44100-acodec: 设置输出文件音频编解码器,这里为pcm_s24le(小端有符号的24位)-
2021-02-04 10:16:08
5621
原创 Qt5项目资源文件过大解决办法
我们有时需要在资源文件中添加大量的图片和其他资源,当资源文件超过一定大小时会编译报错。解决办法:在pro中添加CONFIG += resources_big
2021-02-03 10:47:03
1949
4
原创 QLabel中加入其他控件
今天有个需求,需要做一个类似QQ在线离线显示的图标,如下图本以为可以分分钟搞定,结果发现在UI设计界面无法将其他控件拖入到QLabel中。特此记录一下解决方案,希望可以帮助到其他和我一样遇到此问题的同学。方法一在文本编辑器中修改*.ui文件在UI设计器拖入两个QLabel右键*.ui文件->用...打开->普通文本编辑器,直接修改ui文件如下所示:<widget class="QWidget" name="centralWidget"> <wid
2021-02-02 12:07:01
2363
1
原创 Linux下Qt可执行程序设置动态库及插件路径
在linux下直接双击编译完的可执行程序发现压根跑不起来,但是在Qt Creator中能够执行和调试,那是因为可执行程序无法加载Qt的库导致的。下面提供一种解决办法新建run.sh(名称可随意修改),将以下内容写入文件中#!/bin/bashcurwd=$(cd "$(dirname "$0")";pwd) //获取可执行程序所在目录export PATH=$QTDIR/lib:$PATH
2021-02-01 15:12:27
2512
原创 Hexo使用markdown插入图片无法显示解决方法
hexo发布博客时,文章中引用的本地图片总是无法显示。hexo默认无法处理文章插入本地图片,需要通过扩展插件支持。插件安装与配置1、我们需要安装一个图片路径转换的插件,插件名字为hexo-asset-image,只需执行以下命令cd /d 你的hexo根目录npm install https://github.com/7ym0n/hexo-asset-image --save2、打开hexo根目录下的_config.yml文件,修改下述内容post_asset_folder: true
2021-02-01 09:19:17
1298
2
原创 MarkDown全面讲解
1.快捷键功能快捷键加粗Ctrl+B斜体Ctrl+I引用Ctrl+Q插入链接Ctrl+L插入代码Ctrl+K插入图片Ctrl+G提升标题Ctrl+H有序列表Ctrl+U横线Ctrl+R撤销Ctrl+Z重做Ctrl+Y2. 基本语法2.1 字体设置斜体、粗体、删除线斜体: *这里是需要斜体的文字* 或 _这里是需要斜体的文字_粗体: **这里是需要粗体的文字**倾斜加粗:***这里是需要倾斜
2021-02-01 09:18:54
360
原创 Visual Studio设置项目生成路径
设置项目编译中间文件生成路径右键项目->属性->配置属性->常规->中间目录,设置为$(SolutionDir)..\temp\$(Platform)\$(Configuration)\$(ProjectName)\设置项目目标文件生成路径右键项目->属性->配置属性->常规->输出目录,设置为$(SolutionDir)..\bin\$(Platform)\$(Configuration)\...
2021-02-01 09:18:25
3197
原创 Windows下更改MessageBox按钮文本内容
在实际开发中,我们可能会碰到需要修改Windows系统下的MessageBox弹窗中按钮的文本内容,本文将介绍一种修改MessageBox弹窗中按钮内容的方法。定义我们自己的弹窗方法MyMessageBoxLRESULT CALLBACK CBHookProc(int nCode, WPARAM wParam, LPARAM lParam){ HWND hwnd = (HWND)wParam; if (nCode == HCBT_ACTIVATE) { SetDlgItemText(hwnd
2021-02-01 09:18:02
2104
2
原创 Visual Studio 2015远程调试
在自己的机器上运行正常,但是一到别人的机器上运行就异常。相信作为开发人员肯定遇到过这类问题。这时远程调试就能发挥作用了。本文主要讲解Visual Studio 2015的远程调试功能。异常电脑设置(电脑1)1、从开发的电脑(以下统称电脑1)中拷贝远程调试器至有异常的电脑(以下统称电脑2)在电脑1开始菜单中找到Visual Studio 2015下的Remote Debugger Folder右键打开文件位置,如: D:\Program Files (x86)\Microsoft Visual S
2021-02-01 09:17:06
472
转载 C/C++中如何获取数组和指针的长度
获取数组长度算术表达式#include <iostream>using namespace std;int main(){ int arr[15]; cout << "sizeof(arr) / sizeof(*arr):" << sizeof(arr) / sizeof(*arr) << endl; //输出15 cout << "sizeof(arr) / sizeof(arr[0]):" <<
2021-02-01 09:15:56
10369
1
原创 Qt解决继承QWidget后设置样式(QSS)无效的办法
方法一设置属性 this->setAttribute(Qt::WA_StyledBackground);方法二改成继承 QFrame,因为 QFrame 自带 paintEvent 函数已做了实现,在使用样式表时会进行解析和绘制。方法三重新实现 QWidget 的 paintEvent 函数时,使用 QStylePainter 绘制void ClassName::paintEvent(QPaintEvent *){ QStyleOption opt; opt.
2021-01-31 10:41:14
2663
原创 Qt连接数据库
连接数据库pro中加入 QT += sql//连接数据库(支持QSQLITE、QMYSQL、QMYSQL3、QODBC、QODBC3、QPSQL、QPSQL7)QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //数据库对象db.setHostName("127.0.0.1"); //数据库服务器IPdb.setUserName("root"); //数据库用户名db.setPassword("123456
2021-01-31 10:40:46
478
原创 Qt去除libpng warning: iCCP: known incorrect sRGB profile警告
使用Qt开发使用某些格式的png图片时,可能会报libpng warning: iCCP: known incorrect sRGB profile的警告,虽然并不影响程序的运行,但是看起来烦,而且影响调试信息的使用。其实解决方法非常简单,只需要将png图片用QImage读取再保存就可以了。这里推荐一个工具:JQTools源码地址JQTools去除ICCP方法选择Qt相关->PNG警告消除选择图片就可轻松解决警告了...
2021-01-31 10:39:47
1071
原创 QT使用render时pixmap背景不为透明的解决办法
当我们需要将一个界面绘制成图片时,就需要使用到render方法。QPixmap pixmap(pwidget->size());pwidget->render(&pixmap);如果pwidget背景为透明时,pixmap的背景并不是透明的,会自动填充一个背景框,这样就达不到我们想要的效果,而且好丑。其实解决方法很简单,只需要将pixmap用透明色填充一下就能得到透明背景了。QPixmap pixmap(pwidget->size());pixmap.fill(QCo
2021-01-31 10:39:17
1053
原创 Qt 杂录
UUID#include <QUuid>QString uuid = QUuid::createUuid().toString().replace("{", "").replace("-", "").toUpper();MD5#include <QCryptographicHash>QString md5 = QCryptographicHash::hash("Biao", QCryptographicHash::Md5).toHex();随机数Qt5.10后推荐使
2021-01-31 10:38:44
132
原创 防止QSpinBox自动突出显示内容
connect(spinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged()), Qt::QueuedConnection);void Window::onSpinBoxValueChanged(){ spinBox->findChild<QLineEdit*>()->deselect(); //取消选定的文本}
2021-01-31 10:37:20
338
1
转载 去掉Windows中控件的虚线框
在Windows中,控件得到焦点时会显示一个虚线框,很多时候觉得不好看,有 2 种方式去掉这个虚线框:使用 StyleSheet继承 QProxyStyle使用 StyleSheetQWidget:focus{ outline: none; /* 去掉得到焦点时的虚线框 */}继承 QProxyStyle继承 QProxyStyle,QStyle::PE_FrameFocusRect 时不绘制虚线框,main() 函数里调用 QApplication::setStyle() 使
2021-01-31 10:36:46
335
原创 删除布局中所有控件
void Tool::cleanLayout(QLayout *layout){ while (0 != layout->layout()->count()) { QWidget *widget = layout->layout()->itemAt(0)->widget(); //itemAt(0) layout->layout()->removeWidget(widget); widget->setParent(nullptr);
2021-01-31 10:35:18
698
1
原创 Qt创建Qt Designer自定义控件及使用
创建自定义控件打开Qt Creator选择文件->新建文件或项目填写项目名称和路径,点击下一步选择编译套件,由于windows下Qt库使用的是MinGW编译器,而windows上的Qt Creator是使用Microsoft Visual Studio的编译器生成的,二者的build key不同,生成的插件只可在Qt Designer中显示,而无法集成到Qt Creator中去。要想在Qt Creator中使用自定义插件,有两种方法使用对应的Qt库,即重新安装MSVC版本的Q
2021-01-30 21:00:32
2078
4
原创 QT windows程序打包发布
当你历尽艰辛终于把"bug"写完,兴致勃勃的发给基友炫耀时,结果你的"bug"在基友电脑上跑不起来,提示缺少一堆dll,然后被基友一顿嘲讽,是不是很绝望?哈哈,不怕,看完这篇文章,基友就再也找不到嘲讽你的理由了,保不齐像牛皮糖样的崇拜你。查找DLL1、在开始菜单Qt 5.9.0(根据自己的版本)中根据自己使用的编译器打开相应的命令行工具,如MinGW打开Qt x.x for Desktop(MinGw ...)、MSVC则打开Qt x.x 32-bit for Desktop(MSVC 2015)(位数
2021-01-30 20:59:36
129
2
原创 Qt pro与pri的使用
平台区分win32 {}macx {}unix {}根据平台位数加载win32 { contains(DEFINES, WIN64) { DESTDIR = $${PWD}/../../bin64 } else { DESTDIR = $${PWD}/../../bin32 }}##编译器位数区分contains(QT_ARCH, i386) { message("32-bit") DESTDIR = $${PWD}/bin32} else
2021-01-30 20:58:42
474
原创 QtCreator设置多实例运行
“工具”->“选项”->“构建和运行”->"Stop application before building"设置为None即可。
2021-01-30 20:57:50
729
原创 QTabWidget中的tabBar右侧背景色设置
直接用qss对tabBar设置背景色时,右侧背景色不生效。解决办法tabWidget->setAttribute(Qt::WA_StyledBackground);然后用qss设置背景色就能生效了QTabWidget{ background-color: red;}
2021-01-30 20:57:05
573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人