QT知识
买的挂什么时候到账
这个作者很懒,什么都没留下…
展开
-
qss类选择器无效
原因:这两个函数是让窗口最大化的函数,因为之前窗口一直最大化失效,所以引用了这个,没想到导致了另一个坑,不要使用下面两个函数使用类选择器。showMaximized();QMainWindow::setWindowFlags(Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint);//最大化窗口也可以使用,但是有点问题,我还得再找找问题。this->setWindowSt原创 2022-05-19 16:32:24 · 308 阅读 · 0 评论 -
线程池中添加信号没有触发且卡顿
1、connect的最后面未添加Qt::BlockingQueuedConnection2、有信号不是在线程中发送的,却使用Qt::BlockingQueuedConnection,导致一直卡顿原创 2021-12-20 16:43:39 · 81 阅读 · 0 评论 -
信号与槽连接不上问题
1、添加Q_OBJECT2、实例化了两个对象,导致关联的信号对象是错误的(在构造中添加断点,观察是否进来两次)3、信号发送失败(自己发自己收看是否可行) / 信号与槽连接失败(打印connect的返回值,观察是否为true)...原创 2021-12-20 10:23:49 · 147 阅读 · 0 评论 -
qt提示.ui找不到
qt编译报错原创 2021-12-13 18:02:01 · 762 阅读 · 0 评论 -
自定义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 · 347 阅读 · 0 评论 -
两个相同的类互相关联
代码//类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 · 254 阅读 · 0 评论 -
QT安装xlsx
这里看到之前有博主弄的很不错的,直接放在这里了。1、安装包是我自己下载好放到网盘上的。链接:xlsx安装包提取码:wzds2、安装步骤分享某个博主的步骤原创 2021-08-26 14:51:14 · 599 阅读 · 0 评论 -
注册表中创建与读写文件--再次运行软件保留上次运行的翻译
路径代码 //路径是在 计算机\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 · 94 阅读 · 0 评论 -
ComBobox变成了白色-不可编辑状态
效果代码1、错误代码ui->comboBoxSize->setEditable(!hide);2、正确代码ui->comboBoxSize->setEnable(!hide);这就当是一个教训吧,自己写代码是真的一点也不细心呢。原创 2021-08-25 15:16:21 · 403 阅读 · 0 评论 -
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 · 468 阅读 · 0 评论 -
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 · 340 阅读 · 0 评论 -
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 · 1787 阅读 · 0 评论 -
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 · 52 阅读 · 0 评论 -
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 · 577 阅读 · 0 评论 -
Painter画图形_可拖拽与拉伸
效果:1、当鼠标再矩形内/上的时候,线的颜色就加深,不在矩形内就不加深;2、当鼠标在矩形四个叫的时候,出现红色的圈圈提醒选中了角;3、选中四个角中的一个角,按住移动鼠标实现拉伸4、鼠标在矩形内,按住鼠标实现移动思路1__变量讲解:因为我的代码是直接在公司的项目中写入的,这里就主要贴我写的代码部分还有思路。1、定义的变量:struct LINEINFO{//定义了7个点,因为我当时要画的有线、矩形、椭圆;//x0 y0用来记录鼠标按下的点,这个是绘制的图像移动时候需要使用到的;//x原创 2021-08-13 15:31:47 · 1419 阅读 · 4 评论 -
QT中if和elseif的坑
记录一下今天遇到了一个坑我的语句判断没有问题,但是就是没有进我的这个判断语句、1、if-else ifif(条件一){}else if(条件二){ //死活不进来,条件二为真}我换了一下2、ifif(条件一){}if(条件二){ //没有改任何东西,他进来了。真的是神奇} ...原创 2021-08-11 16:21:59 · 3393 阅读 · 0 评论 -
用户自动发送事件
代码QEvent e(QEvent::ActivationChange);QApplication::sendEvent(this, &e);原创 2021-08-06 16:48:06 · 44 阅读 · 0 评论 -
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 · 1658 阅读 · 0 评论 -
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 · 383 阅读 · 0 评论 -
获取窗口的标题栏指针
代码titleBarWidget()函数//因为我的mpCaptureDockWnd窗口添加的自定义标题栏是DockWndTitleBar*类型,所以我这里就强转成这个类型DockWndTitleBar* mpDockBar = (DockWndTitleBar* )mpCaptureDockWnd->titleBarWidget();mpDockBar->SetLabelTitle(tr("Capture"));因为一个窗口设置两次标题栏的时候出bug了,所以就在这里记录一下。原创 2021-07-30 15:23:34 · 147 阅读 · 0 评论 -
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 · 766 阅读 · 0 评论 -
QT弹簧隐藏/显示
效果原图:1、隐藏pushbutton1,没有隐藏弹簧与他关联的弹簧:可以明显的看出会有空白的区域,这是因为弹簧没有被隐藏。2、隐藏弹簧:可以明显的看出,pushbutton1按键被隐藏了代码//因为弹簧没有hide()这个函数,所以设置弹簧的宽高为0,0ui->horizontalSpacer->changeSize(0,0);//更新弹簧所在的布局ui->horizontalLayout_2->update();//设置弹簧的宽高为40*20,自由拉原创 2021-07-30 14:10:35 · 1301 阅读 · 0 评论 -
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 · 341 阅读 · 0 评论 -
QInputDialog学习
效果图代码1、可以自己添加按钮bool ok;QInputDialog inputDialog;inputDialog.setOkButtonText(tr("OK"));inputDialog.setCancelButtonText(tr("Cancel"));inputDialog.setWindowTitle(tr("Input item name"));inputDialog.setLabelText(tr("Item name:"));inputDialog.setTextEc原创 2021-07-28 18:07:48 · 2293 阅读 · 0 评论 -
Qt控件中打印特殊字符
效果图:代码:1、通过进制显示文本//文本内容设置为刚刚转的八进制,因为转的内容有汉字,所以有用\转换//三个数字用一个\空开ui->pushButton->setText("\302\261");2、通过内容显示文本QString m = QString::fromLocal8Bit("±"); //要这样写,不然会乱码ui->pushButton->setText(m);汉字转进制方法文本转进制链接(这是我自己随便找的一个,用户可以自行选择)汉字二进制原创 2021-07-26 19:01:39 · 2024 阅读 · 0 评论 -
Qt控件设置快捷键
代码setShortcut()函数1、通过代码添加快捷方式//给ui下的pushButton2这个控件设置快捷键为Ctrl+2ui->pushButton2->setShortcut(QKeySequence("Ctrl+2"));//给自定义菜单栏中的一个成员添加快捷键为Ctrl+3mpSysExitAction->setShortcut(QKeySequence("Ctrl+3"));菜单栏中的成员添加快捷键后的效果2、通过ui设置快捷键1、选中某个控件2、找到原创 2021-07-26 18:36:45 · 5247 阅读 · 0 评论 -
qDebug()打印常用的宏
宏__FILE__ 打印当前文件的相对路径 __FUNCTION__ 打印当前函数的全称名字__DATE__ 打印当前的月日年 __TIME__ 打印当前时间 __func__ 打印当前函数的名字,不是全称 __LINE__ 当前行号代码 qDebug() << __FILE__; qDebug() << __FUNCTION__; qDebug() << __DATE__; qDebug() << __TIM原创 2021-07-26 18:16:09 · 623 阅读 · 0 评论 -
QT快捷键
个人总结的Qt快捷方式,后续会自动更新按键 功能 说明F1 查看帮助 (我这里是按两下F1直接切换到帮助模式)F2 函数/变量的声明与定义跳转 (选中某个函数,按F2,实现跳转)F4 .h和.cpp切换 (同名的.cpp和.h切换)Alt + 0 隐藏侧边条 (按下则左边的项目框被隐藏,再按下刚出现)Ctrl + Tab 切换已打开的文件Alt + Enter 添加定义 (选中某个原创 2021-07-26 18:06:29 · 57 阅读 · 0 评论 -
Qt报常量中有换行符
常量中有换行符:效果解决方法1、工具-》选项-》文本编辑器-》行为-》默认编码-》UTF-8 BOM;2、要显示的内容用QStrign::fromLocal8Bit("")包裹起来–重点。然后就可以了,得出的结果如图所示。...原创 2021-07-26 15:43:13 · 394 阅读 · 0 评论 -
Qt国际化翻译(中英切换)步骤:可子界面翻译
效果显示:英文翻译:中文翻译:步骤1、用一个函数用来设置控件的文本信息,我这里用了一个FunSetText()函数封装,并且文本信息用tr(“”);如QPushButton p要设置文本p->setText(tr("Info")); //用tr("")设置,这是重点,不这样设置到时候翻译的时候识别不出来2、pro文件中添加 ,添加这个语句之后TRANSLATIONS = English.ts Chinese.ts3、点击Qt工程中的更新翻译,如下图所示,更新翻译之后,在你的当前原创 2021-07-23 18:25:42 · 5770 阅读 · 6 评论 -
Qt国际化QMessageBox按钮翻译
中文效果图:英文效果图:代码:只要把tr()里面的内容翻译一下就可以了,具体的翻译细节就不说了。原创 2021-07-23 16:28:46 · 659 阅读 · 0 评论