Qt
Anime Paradise
这个作者很懒,什么都没留下…
展开
-
QAudioDeviceInfo::availableDevices崩溃问题
QAudioDeviceInfo::availableDevices这个函数非线程安全函数,多线程下使用需要加互斥锁避免同时调用。如果没有使用这个函数出现了错误,那可能是使用了其它的Qt非线程安全函数。原创 2023-07-02 01:54:12 · 450 阅读 · 0 评论 -
Qt pro工程文件加载子项目不全问题
问题当我们使用Qt时,可能自己会写很多小demo, 为了方便管理,需要创一个子目录项目,再在子目录项目里面创建各种子项目。最近我在新建子目录时,左侧项目列表并没有看到我建的工程,但是源文件和pro项目文件里是有的。试了不少方法才解决了这个问题。解决方法我将pro文件的注释后面全部补上“#”之后,左侧的项目列表就将pro文件的所有子项目全部加载出来了。这可能跟qt解析pro文件的方式有关。...原创 2021-08-21 16:26:51 · 744 阅读 · 0 评论 -
Qt QThread安全退出
QThread的使用方式在Qt中,使用QThread实现子线程的方式有两种:继承QThread,重写run函数继承QObject,使用moveToThread方式移动进QThreadQThread的退出方式QThread::terminate() - 不安全官方说明:终止线程的执行。线程可以立即终止,也可以不立即终止,这取决于操作系统的调度策略。请在terminate()之后使用QThread::wait()。当线程终止时,所有等待该线程完成的线程将被唤醒。警告:此函数是危险的,原创 2021-07-25 21:36:24 · 25342 阅读 · 5 评论 -
Qt QTextEdit 实现注释功能
QTextEdit 实现注释功能代码void AnnotationCode(){ char32_t t = 0x2029; // 2029表示unicode换行符 QChar br(t); // 初始化一个换行符 QTextDocument* pDoc = ui->textEdit->document(); QTextCursor textCursor(pDoc); // 获取选中字符串 QString selec原创 2021-07-06 20:03:29 · 486 阅读 · 0 评论 -
QTextEdit设置显示的最大行数
QTextEdit设置显示的最大行数ui->textEdit->document()->setMaximumBlockCount(100);效果设置了之后,使用apend函数追加一行,QTextEdit会自动删除最开始位置的一行,保持行数不变原创 2021-06-23 11:22:18 · 6523 阅读 · 0 评论 -
error C2238: 意外的标记位于“;”之前解决办法
error C2238: 意外的标记位于“;”之前 解决办法(1)可能是头文件互相包含造成的。仔细检查头文件的包含关系,特别是互相依赖的头文件,有时候还会有多重包含。原创 2021-06-01 18:48:44 · 5584 阅读 · 0 评论 -
Qt 中文字符排序 中文排序
Qt 中文字符排序代码#include <QDebug>void test(){ QLocale local(QLocale::Chinese); QCollator collator(local); QStringList list; list << QStringLiteral("朱") << QStringLiteral("爱") << QStringLiteral("你") << QStringLite原创 2021-05-07 09:33:24 · 902 阅读 · 0 评论 -
Qt自定义控件有时候显示有时候不显示
自定义控件有时候显示有时候不显示问题背景最近开发项目,自定义了一个动画标题栏,利用QWidget提升的方式嵌入到ui文件的布局里面,但是程序初始化的时候,有时候控件不显示,有时候又显示,用了show,用了repaint,始终无法解决这个问题问题原因想了很久,原因是自定义控件的构造函数在布局生效之前执行,paintEvent函数在执行时一些成员变量还是构造函数时的变量,刷新的时候有的变量还是0,导致绘制区域。特别注意resizeEvent这个虚函数解决方法调整思路,注意变量的值,确保paint原创 2021-04-02 11:07:57 · 1682 阅读 · 0 评论 -
Qt QTextEdit 限制文本输入数量
实现函数:void limitTextEditTextCount(QTextEdit* text_edit,const int& limit_count) { QString text = text_edit->toPlainText(); int count = text.count(); if (count > limit_count) { int position = text_edit->textCursor().position();原创 2021-02-19 14:17:05 · 2500 阅读 · 2 评论 -
unicode 表情包 在各个系统各个版本时的显示样式
unicode 表情包 在各个系统各个版本时的显示样式https://emojipedia.org/grinning-face/原创 2021-01-25 14:56:27 · 347 阅读 · 0 评论 -
Qt 实现Unicode字符表情包显示到界面 Emoji
文章目录前言一、实现方式关键函数二、代码三、效果前言最近需要写一个关于qt 表情包的项目 表情包除了有gif 和 png 形式,还有unicode编码形式的表情包,图片的很好搞定,就是unicode的一时没什么思路。一、实现方式通过将表情字符unicode编码转成QString的形式插入到文本框中,QLabel QLineEdit QTextEdit 都支持这种方式。使用这种方式可以更好的跨平台。关键函数QString::fromUcs4(char32_t *t); //这个函数可以直接上原创 2021-01-23 20:11:25 · 2720 阅读 · 3 评论 -
Qt QComBox 样式 QSS 阴影效果
文章目录效果代码样式下拉框阴影效果效果代码样式QComboBox{ color:#1e222b; padding: 1px 15px 1px 3px; border:1px solid rgba(228,228,228,1); border-radius:8; font-family: Microsoft YaHei; font-size: 14px;}QComboBox::drop-down { /*下拉按钮*/ subcontrol-origin原创 2021-01-23 09:58:31 · 3029 阅读 · 0 评论 -
Qt QWidget平铺背景
Qt QWidget 平铺背景效果图实现方式效果图实现方式设置窗口的样式表ui->widget->setStyleSheet("QWidget{" "background-image:url(:/image/bg.jpg);" "}");默认就是平铺,不需要进行多余设置。bg.jpg图片:这种图片可以自己写代码生成: QPixmap out_pix(64,64); QPainter pix_painter(&out_pix); QCol原创 2021-01-21 16:09:11 · 1580 阅读 · 0 评论 -
Qt 获取桌面有效的宽度和高度
获取桌面有效的宽度以及高度#include <QDesktopWidget> //需要引用此头文件int width = QApplication::desktop()->availableGeometry().width();int height = QApplication::desktop()->availableGeometry().height();原创 2020-09-09 10:10:21 · 1883 阅读 · 2 评论 -
简单使用Enigma Virtual Box将Qt生成的程序打包成单文件exe
一、下载一个Enigma Virtual Box软件链接:https://pan.baidu.com/s/1LUM5SnjHBuYJwdksvLbCqQ提取码:kv44二、使用教程1、双击打开软件2、点击浏览---->选择原创 2020-09-02 15:57:00 · 1117 阅读 · 0 评论 -
Qt QGraphicsTextItem 将文字居中显示
QString m_strInfo = QString("您好,世界");QGraphicsTextItem * m_textItem = new QGraphicsTextItem(m_strInfo,this);m_textItem->setTextWidth(200);QTextBlockFormat format;format.setAlignment(Qt::AlignCenter);QTextCursor cursor = m_textItem->textCursor()原创 2020-06-22 17:54:27 · 2589 阅读 · 1 评论