QT 工作遇到的小问题

2023-05-16

文章目录

          • 1.QT中清空布局中所有小控件
          • 2.纯代码添加QPushButton,设置样式checked不生效
          • 3.stackedWidget必须在初始化时,设置当前页,否则有可能顺序会打乱,画面顺序错误
          • 4.有时候Debug项目运行按钮置灰
          • 5.常量中含有换行符
          • 6.pro文件出现错误,提示为Extra characters after test expression.
          • 7.提升后,找不到ui文件
          • 8.将一个frame调整为水平居中
          • 9.安装样式CSS文件,但是界面不生效
          • 10.获取不到窗体的正确全局坐标
          • 11.点击部件或弹窗外部其他位置时消失
          • 12.一运行程序就崩溃
          • 13.无法打开或写入程序
          • 14.线程执行完一次任务再执行,无反应
          • 15.提升的类不需要show,否则会多显示一次,屏幕闪一下
          • 16.程序休眠一会,不影响主UI线程
          • 界面刷新不及时,两种方法
          • 17.paintEvent如果定义了,里面就算没有画图,此时去设置setStyleSheet是不生效的。如果要生效,应该删除paintEvent定义函数
          • 18.Qt无法定位程序输入点QXXXX于动态链接库XXXX问题的解决方法
          • 19.QListWidget默认选中Item,周围会有细线

1.QT中清空布局中所有小控件

addWidget后,如果使用removeWidget,界面上的小控件不会立即消失,可以进行如下操作,布局中的控件都会立即消失

QRadioButton *button = new QRadioButton("血刀老祖");
button->setParent(nullptr);
2.纯代码添加QPushButton,设置样式checked不生效

纯代码添加小控件,基本属性还需要进行设置

QPushButton *btn= new QPushButton(this);
//设置可点击属性
btn->setCheckable(true);
//设置点击
btn->setChecked(true);
//启用自动独占(可实现N个小控件,同一时间只能按一个)
btn->setAutoExclusive(true);
btn->setStyleSheet("QPushButton{background-color:white;"
                                 "font-size:18px;"
                                 "}"
                   "QPushButton:checked{background-color:red;"
                                 "font-size:18px;"
                   "}");
3.stackedWidget必须在初始化时,设置当前页,否则有可能顺序会打乱,画面顺序错误
QButtonGroup *group = new QButtonGroup();
group->setExclusive(true);
group->addButton(ui->btnMember, 0);
group->addButton(ui->btnSettings, 1);
connect(group, SIGNAL(buttonClicked(int)), this, SLOT(onGroupClicked(int)));
ui->stackedWidget->setCurrentIndex(0);
4.有时候Debug项目运行按钮置灰

在这里插入图片描述
解决办法:先切换到Release,在切回到Debug,运行按钮就会变绿
在这里插入图片描述

5.常量中含有换行符

QT–工具–文件编辑器–行为中进行设置。
在这里插入图片描述

6.pro文件出现错误,提示为Extra characters after test expression.
ui/chat/ListForm.cpp \
ui/chat/SettingsForm.cpp 
ui/chat/RoomForm.cpp \

中间的没有转接行,需要加上 \

7.提升后,找不到ui文件

原因:提升的时候,勾选了全局包含。
在这里插入图片描述
正确的做法
第一种:不要勾选
第二种:如果勾选了全局包含,那么在ui_文件中,将<ClassChatSettingsForm.h> 改为 “ClassChatSettingsForm.h”
在这里插入图片描述

8.将一个frame调整为水平居中

在这里插入图片描述

9.安装样式CSS文件,但是界面不生效

使用notepad++将样式文件打开,将文件编码方式改为UTF-8-BOM
在这里插入图片描述

在这里插入图片描述

10.获取不到窗体的正确全局坐标

m_widget窗体必须先show出来,才能获取到它的全局坐标

QPoint  leftTop = m_widget->mapToGlobal(QPoint(0, 0));
11.点击部件或弹窗外部其他位置时消失
setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);

bool InfoNoticeForm::event(QEvent *ev)
{
    if (QEvent::Show == ev->type())
        activateWindow();
    else if (QEvent::WindowDeactivate == ev->type())
        hide();

    return QWidget::event(ev);
}
12.一运行程序就崩溃
Starting E:\apple.exe...
程序异常结束。
E:\apple.exe crashed.

查看:自己代码中写的setstylesheet()中的语法是否正确,是否有分号

13.无法打开或写入程序

程序进程还在,可重启解决

14.线程执行完一次任务再执行,无反应

创建一个线程,线程执行任务完成以后,才能再去发射start信号,执行任务才会生效。

if (m_thread.isFinished()) {
    m_Thread.start();
}
15.提升的类不需要show,否则会多显示一次,屏幕闪一下
16.程序休眠一会,不影响主UI线程
    //等待五秒
	QEventLoop eventloop;
    QTimer::singleShot(5000, &eventloop, SLOT(quit()));
    eventloop.exec();
界面刷新不及时,两种方法
	// 第一种立即终止当前事件循环
	QTimer::singleShot(0, this, [this]() {
        adjustSize();
    });

	// 第二种
	void showEvent(QShowEvent *event)
	{
    	this->setAttribute(Qt::WA_Mapped);
    	QWidget::showEvent(event);
	}
17.paintEvent如果定义了,里面就算没有画图,此时去设置setStyleSheet是不生效的。如果要生效,应该删除paintEvent定义函数
void paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);
}
18.Qt无法定位程序输入点QXXXX于动态链接库XXXX问题的解决方法

转载: QT解决无法定位程序输入点的问题
原因: 在PATH变量中搜索路径时的顺序问题。比如MinGW编译器的路径在MSVC编译器的路径前面时,这时候你使用MSVC编译器来编译构建项目,这时候在Qt里点击运行是没有问题的。但是如果使用windeployqt xxx.exe然后在文件里双击运行时就会报“无法定位程序输入点QXXXX于动态链接库XXXX问题”。所以改变其顺序。

19.QListWidget默认选中Item,周围会有细线

在这里插入图片描述

QListView {
    background-color: rgb(255, 255, 255);
    color: rgb(51, 51, 51);
    //可以加这一句,即可去掉细线
	outline: 0px;
}

QListView::item {
    padding-left:10px;
	padding-top:5px;
    padding-bottom:5px;
    background-color: rgb(255, 255, 255);
}

QListView::item:selected {
	color: rgb(255, 255, 255);
	background: rgb(45, 126, 244);
}

QListView::item:hover {
    background: rgb(45, 126, 244);
	color: rgb(255, 255, 255);
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT 工作遇到的小问题 的相关文章

  • ubuntu下安装arm-linux-gcc交叉编译链

    你好 xff01 这里是风筝的博客 xff0c 欢迎和我一起交流 交叉编译链下载地址 xff1a ftp ftp gnu org gnu gcc 或者在arm官网下载 https developer arm com open source
  • 嵌入式Linux驱动笔记(二十一)------GPIO和Pinctrl子系统的分析和思考

    你好 xff01 这里是风筝的博客 xff0c 欢迎和我一起交流 好久都没有写东西了 xff0c 最近来广州某公司实习 xff0c 顺便记录下吧 吐槽下 xff0c 因为是二级保密单位 xff0c 公司里电脑不给联网 xff0c 贼难受 不
  • Feign和RestTemplate 的使用比较

    Feign和RestTemplate 的使用比较 一 RestTemplate 基于RestTemplate 进行远程服务调用 但是在调用之前基于loadBalancerClient对象去从nacos注册中心基于服务名查找服务实例 可能有多
  • ubuntu16.04 配置远程桌面

    sudo apt get y install xfce4 xrdp vnc4serverdpkg L xrdp 在显示的结果中有如下一行即可 xff1a etc xrdp xrdp ini配置xfce4桌面会话文件 软件安装完毕后 xff0
  • C++中构造函数的超详细讲解

    C 43 43 在C语言的基础上增加了类和对象的概念 xff0c 官方对类和对象的解释是 xff1a 对象是类的实例化 xff0c 类是对象的抽象 xff0c 其实这个概念也很抽象 xff0c 举一个简单的例子来说明这个关系 xff1a 在
  • 计算机网络实验三 路由协议的配置

    一 实验目的 1 掌握静态路由协议的配置 2 掌握RIP协议特点和其配置方式 xff1b 3 掌握OSPF协议的特点和其配置方式 xff1b 二 实验要求 1 掌握静态路由协议的配置 1 配置一个互联网络 xff0c 可如下图所示 xff1
  • C语言实现有限状态机

    以下是转载内容 xff1a 传说中的分隔符 来源 1 xff1a http www cnblogs com swingboat archive 2005 07 27 201488 html 转载 1 有限状态机的实现 lt script t
  • linux内核-中断的响应和服务

    搞清了i386 CPU的中断机制和内核中有关的初始化以后 xff0c 我们就可以从中断请求的发生到CPU的响应 xff0c 再到中断服务程序的调用与返回 xff0c 沿着CPU所经历的路线走一遍 这样 xff0c 既可以弄清和理解linux
  • Ubuntu的Java编辑器eclipse打不开闪退的解决方法

    Linux Ubuntu的eclipse安装上了 xff0c 但是打不开 xff0c 闪退的解决方法 xff1a 首先确保你已经在安装了eclipse 如果你已经安装了eclipse xff0c 你就可以向下进行 xff1a 你点击ecli
  • 马走棋盘之最短路径步数——C

    描述问题 输入测试例子数T xff0c 每个例子输入棋盘大小m行n列 1 lt 61 m n lt 61 500 再输入a b c d表示 a b gt c d xff0c 1 lt 61 a c lt 61 m 且 1 lt 61 b d
  • Go语言自学系列 | golang标准库os模块 - File文件写操作

    视频来源 xff1a B站 golang入门到项目实战 2021最新Go语言教程 xff0c 没有废话 xff0c 纯干货 xff01 持续更新中 一边学习一边整理老师的课程内容及试验笔记 xff0c 并与大家分享 xff0c 侵权即删 x
  • CentOS 下中文文件名显示乱码

    在windows上使用ftp上传文件到linux上 xff0c 中文名称在Linux系统中显示为乱码 虽然将Linux的env设置了LANG 61 en US UTF 8 xff0c 并且本地的Shell客户端编码也设置成UTF 8 xff
  • 树莓派centos 7.x版本 编译安装 PHP7.2

    下载安装包 树莓派上yum里没有的软件只能编译安装 wget http cn2 php net distributions php 7 2 0 tar gz tar zxvf php 7 2 0 tar gz cd php 7 2 0 安装
  • docker 利用docker拉取Nvidia/cuda官方镜像,部署深度学习环境

    利用docker拉取Nvidia cuda官方镜像 xff0c 部署深度学习环境 1 拉取Nvidia cuda官方镜像2 生成容器3 在容器内安装深度学习环境 看完这篇博文 xff0c 可以查看我总结的另一篇博文教程 xff1a 利用do
  • 树莓派安装anaconda

    树莓派安装anaconda 1 查看版本 xff1a 2 下载安装包 xff1a 3 安装 xff1a 4 查看 5 换源 xff1a 6 创建虚拟环境 7 解决部分异常问题 8 卸载 xff1a 1 查看版本 xff1a uname sp
  • QT 项目 实现基于TCP的文件服务器/客户端,支持上传和下载

    Demo xff1a 下载地址 https download csdn net download guorong520 12408371 没有csdn积分的小伙伴可以留言你的QQ邮箱 xff0c 我会发送Demo xff0c 相互交流学习
  • QT 常用setAttribute 、setWindowFlags

    文章目录 一 主界面1 窗体属性2 窗体标志 二 注意1 最大化按钮失效置灰的问题 一 主界面 1 窗体属性 span class token comment 设置为模态框 如果再设置无边框窗口 xff0c 那么模态会失效 xff0c 不会
  • QT 获取秒级、毫秒级时间戳

    一 时间戳 是指格林威治时间1970年01月01日00时00分00秒 北京时间1970年01月01日08时00分00秒 起至现在的总秒数 它的提出主要是为用户提供一份电子证据 xff0c 以证明用户的某些数据的产生时间 二 获取时间戳 秒级
  • Jenkins 执行Python脚本以及Bat(批处理)脚本

    文章目录 一 新建任务二 创建任务三 配置四 勾选参数化构建过程1 下拉框参数2 字符参数3 布尔参数4 git分支选项 五 执行脚本命令六 python文件存放路径七 配置以及构建效果图1 输入构建参数 xff0c 选中勾选框 xff0c
  • 为什么Ubuntu终端输入su会报错鉴定失败?

    Ubuntu刚刚安装上 xff0c 要输入一堆类似sudo apt install xxxxxx的命令进行装各种必须的软件 xff0c 老是打sudo很烦 xff0c 就su一下 xff0c 然后就能省略掉sudo xff0c 直接apt

随机推荐

  • python-gitlab API基本操作以及(下载指定文件或文件夹)

    一 使用python对gitlab进行自动化操作 1 python gitlab模块官网文档 2 gitlab官网文档 二 常用使用功能 span class token comment 1 登录gitlab span def span c
  • python 完美压缩文件夹为zip格式

    一 压缩 1 备注 xff08 1 xff09 os walk xff0c 会返回一个三元组 path xff1a 文件夹本身的地址 xff1b dirNames xff1a 该文件夹中所有目录的名字列表 xff1b fileNames x
  • 模拟执行网页接口

    一 背景 我想使用程序自动执行提交软件操作 xff0c 这时候需要通过谷歌浏览器去查看需要使用哪些请求字段等 二 实现方式 1 先在浏览器上输入账号 密码进行登录 2 打开开发者工具 3 设置浏览目录 4 然后输入相关参数 xff0c 手动
  • Python resquests使用multipart/form-data格式上传参数或文件

    参考 xff1a 井蛙不可语于海 一 需要注意的坑 在resquests中不用加上Content Type xff0c 否则请求无法成功 xff0c 它会有一个默认值 二 代码示例 span class token keyword try
  • QT Expression:_BLOCK_TYPE_IS_VALID断言错误

    一 最近使用QT xff0c 写了一个小小的Demo xff0c 在关闭窗口时总是报错 二 原因 1 Qt初始化时有两种构造方式 xff1a span class token comment xff08 1 xff09 将窗口对象定义在栈上
  • QT 解压tar.gz格式的压缩包

    一 tar gz 以 tar gz为后缀的文件是一种压缩文件 xff0c 在Linux下常见 一般情况下都是源代码的安装包 它其实是先打包成tar格式的文件 xff0c 然后利用gzip压缩技术来压缩 这两天我想在windows下去解压这种
  • QT error C2220: 警告被视为错误 - 没有生成“object”文件

    一 错误代码图 下面的代码会造成这个问题 span class token keyword void span CustomWindow span class token operator span span class token fun
  • QT 复制、粘贴系统剪贴板

    一 复制 可以复制文字 图片到系统剪贴板 xff0c 图片最好将QImage格式复制到剪贴板 xff0c QPixmap要比QImage慢 xff0c 因为QPixmap需要首先转换为QImage格式 QClipboard span cla
  • QT 最常用字符串操作

    文章目录 96 96 QString 96 96 一 查找字符串位置二 截取指定位置的字符串三 判断字符串是否含有空字符四 判断字符串是否为空值五 指定位置插入字符串六 判断是否以某个字符串开始或结尾七 删除空字符八 排序字符串九 切割字符
  • QT 计算字符串、文件md5值

    一 计算字符串md5值 xff08 1 xff09 QCryptographicHash xff0c 提供一种生成加密散列的方法 xff0c Hash叫作散列表 xff0c 也叫作哈希 xff08 2 xff09 当前支持MD4 MD5 S
  • Ubuntu系统装上了以后应该干什么?

    我列出一个Linux Ubuntu装机单 xff1a 可以直接在桌面上新建文本文档 xff0c 复制粘贴我的装机命令单 xff0c 然后文本文档后缀改成sh xff0c 再在属性里设置 允许以程序执行文件 xff0c 就可以了 装机单 xf
  • QT 创建、修改桌面快捷方式,固定任务栏快捷方式

    一 获取系统文件路径 我们用到DesktopLocation和AppDataLocation 二 创建与修改快捷方式路径 修改可以直接将创建的快捷方式覆盖到指定的路径中即可 xff08 1 xff09 桌面快捷方式 QString desk
  • QT UTF-8转GBK编码

    在Qt5中使用Unicode来存储 操作字符串 xff0c windows下是GBK编码 UTF 8 转 GBK QString appLink span class token operator 61 span span class to
  • QT 删除一周前的日志

    1 现象 本地客户端log越来越大 xff0c 写入速度也会变慢 xff0c 所以在启动时进行清理 2 日志文件名 3 代码 span class token keyword void span span class token funct
  • Python脚本转换为exe程序

    一 安装pyinstaller pip install pyinstaller 二 打包程序 xff08 pyinstaller exe在python下的 Scripts 文件夹下 xff09 python pyinstaller exe
  • QT 计算文件夹总大小并转换为B、KB、M、G

    一 计算文件夹总大小 qint64 span class token function fileSize span span class token punctuation span span class token keyword con
  • QT 自定义滑动条(上方有实时方框显示数值,且带有刻度值)

    文章目录 一 效果图二 原理三 示例代码四 还可以使用系统stylesheet语法来自定义滑动条五 设置小数值 一 效果图 这种滑动条是控件所拼接而成 二 原理 xff08 1 xff09 LectureCorrectBoxSliderFo
  • QT 流式布局水平插入小部件(可自动换行)

    一 类似于这样的效果图 由于对象不确定有多少人 xff0c 所以使用代码 xff0c 在布局中添加部件 xff0c 如果一行撑不下 xff0c 则自动添加到第二行 二 使用FlowLayout FlowLayout是一个自定义布局类 xff
  • QT 计算平均分(向上取整或向下取整)

    一 场景 需要计算四门成绩的平均分 xff0c 并向上取整 span class token keyword double span temp span class token operator 61 span span class tok
  • QT 工作遇到的小问题

    文章目录 1 QT中清空布局中所有小控件2 纯代码添加QPushButton xff0c 设置样式checked不生效3 stackedWidget必须在初始化时 xff0c 设置当前页 xff0c 否则有可能顺序会打乱 xff0c 画面顺