自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 QAbstractItemModel支持拖拽

QAbstractItemModel支持拖拽

2023-06-06 09:38:57 186

原创 qss设置Q_PROPERTY设置的QSize属性

qss设置Q_PROPERTY设置的QSize属性。

2023-05-27 09:41:52 185

原创 QString对比,如起始为数字时以数字大小为准

QString对比

2023-04-13 14:05:27 177

原创 QProcess打开带空格路径软件

/需添加QStringList()传参。

2023-04-10 09:45:27 350 2

原创 让软件以管理员权限运行

管理员权限

2023-04-04 10:06:32 164

原创 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

原创 Qt Creator打开CMake项目

【文件】->【打开文件或项目】->选择CMakeLists.txt文件

2021-03-09 13:53:30 5347

原创 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]):" <&lt

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

原创 QWebEngineView使用

QWebEngineView使用。

2021-01-31 10:38:12 1337

原创 防止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关注的人

提示
确定要删除当前文章?
取消 删除