- 博客(54)
- 问答 (1)
- 收藏
- 关注
原创 Qt 项目问题定位
定位问题的手段Dump日志上代码调试调试过程中遇到的问题汇总尽量模拟软件发布的版本,即软件发布为release,即可release模式下进行问题的复现
2023-06-13 17:48:01
120
原创 QPushButton上绘图失败原因
原因:1、QPushButton上有背景色,导致无法对绘制上去,对其背景色设置为透即可;2、未设置installEventFilter3、未在事件过滤器中重写事件
2022-06-08 11:08:34
218
原创 QT error LNK2019: 无法解析的外部符号
解决方法:一、因为我是用的pri对文件管理的,所以解决方法就是核对pri文件中的文件是否全部包含,是否pri文件中最后有加 \ 符号,最后一个不用加 \ ,其他的均要加 二、只有定义没有实现,这种情况对函数进行实现就可以了三、清除->qmake->构建 重新运行试试...
2022-05-24 12:20:37
350
原创 qss类选择器无效
原因:这两个函数是让窗口最大化的函数,因为之前窗口一直最大化失效,所以引用了这个,没想到导致了另一个坑,不要使用下面两个函数使用类选择器。showMaximized();QMainWindow::setWindowFlags(Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint);//最大化窗口也可以使用,但是有点问题,我还得再找找问题。this->setWindowSt
2022-05-19 16:32:24
325
原创 Qt运行项目直接crash,调试报CDB错误
原因:项目缺少dll (直接将缺少的dll放到.exe文件路径下)心中历程这周在做tiff文件读取模块的移植,代码移植过去了,运行Debug直接报"The CDB process terminated.",我网上一查资料,找到最多的就是缺少dll。刚开始我以为是我链接的库的路径不对,但是我校对了很多次,没有任何问题。然后我就用release模式运行,一样是crash的。然后就开始找哪里导致的Crash,找到是用了tiff库的函数导致直接crash,因为我就只用了这个读取tiff内容的函数。我这里先排除
2022-02-23 18:57:24
895
原创 qt应用程序输出QLayout: Attempting to add QLayout ““ to xxx “xxx“, which already ha
原因:1、布局里传了this2、ui布局没有break(将这个previewWidget的布局也打破)
2022-01-04 11:29:06
508
原创 线程池中添加信号没有触发且卡顿
1、connect的最后面未添加Qt::BlockingQueuedConnection2、有信号不是在线程中发送的,却使用Qt::BlockingQueuedConnection,导致一直卡顿
2021-12-20 16:43:39
92
原创 信号与槽连接不上问题
1、添加Q_OBJECT2、实例化了两个对象,导致关联的信号对象是错误的(在构造中添加断点,观察是否进来两次)3、信号发送失败(自己发自己收看是否可行) / 信号与槽连接失败(打印connect的返回值,观察是否为true)...
2021-12-20 10:23:49
161
原创 2021-11-05
NULL和nullptr的区别NULL的定义#define NULL ((void *)0)代码:c++有重载,所以不知道调用哪个函数void func(int x){ cout<<"void func(int x)"<<endl;}void func(char *y) { cout<<"void func(int *y)"<<endl;}int main(){ func(NULL); //不知道调用哪个函数 fu
2021-11-05 18:51:34
200
原创 自定义QMessagebox且默认选中No
效果直接点击键盘是Enter/Space默认选择No这个Button代码 QMessageBox *mpMessageBox = new QMessageBox(QMessageBox::Question,"Title",tr("Do you want to exit?")); QPushButton *mpPushButtonYes = mpMessageBox->addButton(tr("Yes"),QMessageBox::ActionRole); QPushButto
2021-10-15 16:30:19
371
原创 两个电脑互传文件
步骤:点击权限再获取另一台电脑的ip在电脑的输入中输入对方的ip,两个电脑的ip要在同一个网段,如果不在同一个网段则不能连接。这个时候可能还要软件对方电脑的账号和密码成功进去之后就可以看到对方共享的文件夹了,然后在这个文件夹中进行操作...
2021-09-27 14:47:40
150
原创 两个相同的类互相关联
代码//类1auto mpPaint1 = it.value().mpImageWnd->mpImageWnd->mpCenterWidget->m_pMainView->m_pPixmapObject->m_pPixmapItem;//类2auto mpPaint2 = (it+1).value().mpImageWnd->mpImageWnd->mpCenterWidget->m_pMainView->m_pPixmapObject-
2021-08-31 19:08:26
264
原创 Dock窗口嵌套进去之后,窗口可以被挤压到更小
问题原因:主窗口设置了最小宽度,把这个设置去除就可以了setMinimumSize(750, 750);
2021-08-28 13:46:08
80
原创 QT安装xlsx
这里看到之前有博主弄的很不错的,直接放在这里了。1、安装包是我自己下载好放到网盘上的。链接:xlsx安装包提取码:wzds2、安装步骤分享某个博主的步骤
2021-08-26 14:51:14
621
原创 注册表中创建与读写文件--再次运行软件保留上次运行的翻译
路径代码 //路径是在 计算机\HKEY_CURRENT_USER\SOFTWARE\HisSIM\Language 下 QSettings setting("HKEY_CURRENT_USER\\Software\\HisSIM\\Language", QSettings::NativeFormat); //读这个名有Language的文件的内容,没有这个文件会创建一个Language,内容为空的文件 QString mLanguageSel = setting.value("La
2021-08-25 16:31:41
101
原创 ComBobox变成了白色-不可编辑状态
效果代码1、错误代码ui->comboBoxSize->setEditable(!hide);2、正确代码ui->comboBoxSize->setEnable(!hide);这就当是一个教训吧,自己写代码是真的一点也不细心呢。
2021-08-25 15:16:21
443
原创 QDialogButtonBox中的Ok和Cancel翻译_可能不行
void FunSetText(){ //分别给OK和Cancel按钮设置文本信息 ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("123")); ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("456"));}void MainWindow::changeEvent(QEvent *event){ swi
2021-08-16 11:32:15
495
原创 QT翻译总结
翻译问题总结1)用tr包裹要翻译的文本信息2)要准备翻译的所有控件的函数;这里我就以FunSetText()函数为例子,这个FunSetText()函数装了所有我需要翻译的文本内容。//这个函数有所有我需要设置文本的控件void FunSetText(){ ui->pushbutton->setText(tr("Hello"));}3)changeEvent事件protected:void changeEvent(QEvent *event);void MainWindo
2021-08-16 11:30:47
352
原创 TextEdit中的内容提取与翻译
效果1、TextEdit中的内容格式是: xxx xxx xxx;需要翻译的是第三个xxx 要把xxx xxx ;删除2、我的界面中点击你好是增加一个123内容,点击Word是增加一个456的内容,Cancel是清空textEdit中的内容代码 QString text = ui->textEdit->toPlainText(); //获取TextEdit中的文本内容,每一行是以\n结尾 ui->textEdit->clear(); //先清空,翻译后再重新写入
2021-08-16 11:10:08
1912
原创 Qt先进event类,再进构造
打印出来的结果代码://这里是代码的全部,我当时就想看一下是先进构造还是先进event,这里就当是记录一下吧//进构造的话就打印111111//进event就打印22222MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui->setupUi(this); qDebug() << "1111111111";}Ma
2021-08-14 14:44:58
61
原创 QComBobox内容设置文本信息以可以翻译
代码: //在combobox中添加内容 ui->comboBox->addItem(tr("1")); ui->comboBox->addItem(tr("2")); ui->comboBox->addItem(tr("3")); ui->comboBox->addItem(tr("4")); //修改combobox各个下标中的文本信息 ui->comboBox->setItemText(0, tr("1")
2021-08-14 13:38:54
638
原创 Painter画图形_可拖拽与拉伸
效果:1、当鼠标再矩形内/上的时候,线的颜色就加深,不在矩形内就不加深;2、当鼠标在矩形四个叫的时候,出现红色的圈圈提醒选中了角;3、选中四个角中的一个角,按住移动鼠标实现拉伸4、鼠标在矩形内,按住鼠标实现移动思路1__变量讲解:因为我的代码是直接在公司的项目中写入的,这里就主要贴我写的代码部分还有思路。1、定义的变量:struct LINEINFO{//定义了7个点,因为我当时要画的有线、矩形、椭圆;//x0 y0用来记录鼠标按下的点,这个是绘制的图像移动时候需要使用到的;//x
2021-08-13 15:31:47
1478
4
原创 QT中if和elseif的坑
记录一下今天遇到了一个坑我的语句判断没有问题,但是就是没有进我的这个判断语句、1、if-else ifif(条件一){}else if(条件二){ //死活不进来,条件二为真}我换了一下2、ifif(条件一){}if(条件二){ //没有改任何东西,他进来了。真的是神奇} ...
2021-08-11 16:21:59
3533
原创 用户自动发送事件
代码QEvent e(QEvent::ActivationChange);QApplication::sendEvent(this, &e);
2021-08-06 16:48:06
53
原创 QDialogButtonBox设置OK和Cancel的文本信息
代码ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
2021-08-06 13:30:04
1745
原创 小乌龟查看与上一次提交修改的地方
步骤1、拉取最新的代码。这里就不再说如何拉代码了;2、到你最新代码的那个文件夹里面,右键选择TortoiseGit->Show log3、选择版本4、双击最下面的文件,检查修改内容5、找到修改了但不是你修改的地方,那这个地方可能是因为某种原因被你修改的代码。处理下就可以了,实在不知道如何处理那就叫上级帮忙吧,我今天就遇到了一次,还好只有两处,boss一下就搞定了,不然我就真的难受了。...
2021-08-05 18:12:31
1996
原创 git常用拉代码与Merge后推送
步骤我这里是用的CODING管理代码1、创建一个文件夹用来存放最新的代码,如创建了一个text的文件夹2、复制你代码中的链接3、在text文件夹中右键,选择Git Bash Here4、输入git clone + 刚刚复制的网址//如git clone rerere5、创建本地分支xxx,这个自己命名://xxx是我随便取得名字git checkout -b xxx6、查看下日志,看看是不是最新的git log7、在这个文件中修改代码8、修改完成且这个时候没有别人修改代
2021-08-05 18:02:39
1099
原创 QT自定义滑条
效果:1、两个按键可以滑动;2、滑动之后hover状态可以显示按键的x坐标。代码: //上下滑动条在ui中分别为pbSliderUp和pbSliderDown ui->pbSliderUp->setToolTip(QString("%1").arg(ui->pbSliderUp->x())); ui->pbSliderDown->setToolTip(QString("%1").arg(ui->pbSliderDown->x()));
2021-08-03 15:57:05
410
原创 QT报编译器堆空间不足
效果:解决方法:原理是资源文件的文件太大了。1、删除资源文件2、在pro文件中添加:CONFIG += resources_big
2021-08-03 14:08:14
391
原创 QAction添加槽报错:QObject::connect: signal not found in QAction
代码1、错误代码//重点就在&QAction::trigger这里connect(mpActionPlay, &QAction::trigger, this ,[=](){})2、正确代码connect(mpActionPlay, &QAction::triggered, this ,[=](){ });QAction的点击还是要用trggered这个信号,不能用trigger,我也不知道为什么。...
2021-07-31 17:56:29
1534
3
原创 获取窗口的标题栏指针
代码titleBarWidget()函数//因为我的mpCaptureDockWnd窗口添加的自定义标题栏是DockWndTitleBar*类型,所以我这里就强转成这个类型DockWndTitleBar* mpDockBar = (DockWndTitleBar* )mpCaptureDockWnd->titleBarWidget();mpDockBar->SetLabelTitle(tr("Capture"));因为一个窗口设置两次标题栏的时候出bug了,所以就在这里记录一下。
2021-07-30 15:23:34
167
原创 QT自定义标题栏
效果1、自定义标题栏2、QT自带标题栏自定义标题栏类的代码1、ui界面2、.h#include <QWidget>#include <QEvent>#include <QDockWidget>#include <QMouseEvent>namespace Ui {class mTitleBar;}class mTitleBar : public QWidget{ //Q_OBJECTpublic: exp
2021-07-30 14:47:36
781
原创 QT弹簧隐藏/显示
效果原图:1、隐藏pushbutton1,没有隐藏弹簧与他关联的弹簧:可以明显的看出会有空白的区域,这是因为弹簧没有被隐藏。2、隐藏弹簧:可以明显的看出,pushbutton1按键被隐藏了代码//因为弹簧没有hide()这个函数,所以设置弹簧的宽高为0,0ui->horizontalSpacer->changeSize(0,0);//更新弹簧所在的布局ui->horizontalLayout_2->update();//设置弹簧的宽高为40*20,自由拉
2021-07-30 14:10:35
1378
原创 QT自定义标题栏窗口移动
设置自定义的标题栏需要修改鼠标移动事件,这样窗口才能移动。哪个窗口不能移动,就再这个窗口的类中添加下列代码。有一点点的bug,窗口会突然移动,后续修改。代码.h文件void mousePressEvent(QMouseEvent *event);void mouseMoveEvent(QMouseEvent *event);void mouseReleaseEvent(QMouseEvent *event);.cpp文件void Cap::mousePressEvent(QMouseEve
2021-07-30 11:08:23
362
空空如也
软件Crash生成Dump文件的功能是否有必要?
2021-10-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人