Qt
qt
D-A-X
这个作者很懒,什么都没留下…
展开
-
Qt自定义textBrowser的右键菜单栏
问题描述 我们利用代码直接生成MainWindow下的右键菜单栏(如何生成右键菜单?),但是发现由于textBrowser控件定义了自有默认右键菜单,因此我们自定义的右键菜单失效。如下图:解决办法 QWidget及其子类都可有右键菜单,首先设置QWidget与右键菜单有关的函数setContextMenuPolicy(),属性对应项为contextmenuPolicy。setContextMenuPolicy函数的参数为枚举类型Qt::ContextMenuPolicy,qt帮助文档中有相应介原创 2020-09-09 15:57:21 · 2558 阅读 · 0 评论 -
Qt将tableWidget数据导入指定Excel中
如题,该函数调用系统API来完成与一般应用同样的保存路径选取方式,会弹出系统窗口要求选择路径并命名文件。void MyMainWin::writeExcel(QTableWidget *tableWidget){ QString fileName = QFileDialog::getSaveFileName(this, tr("另存为"), "/home", tr("Excel 工作簿(*.xlsx *.xls)")); if(fileName.isEmpty()){ no原创 2020-06-10 23:43:43 · 953 阅读 · 0 评论 -
QString操作
转载至:https://blog.csdn.net/weixin_42653531/article/details/97810964字符串末尾追加//example 1 QString str="hello"; str.append("world"); qDebug() <<str; //str=hello world //example 2 QString str="hello"; str=str+"world"; qDebug() <转载 2020-06-09 18:57:59 · 422 阅读 · 0 评论 -
Qt关于lineEdit的输入格式设置
设置提示文字ui->lineEdit->setPlaceholderText("联机游戏欢乐多");仅能输入整数无限制ui->lineEdit->setValidator(0);仅能输入整数ui->lineEdit->setValidator(new QIntValidator(ui->lineEdit));借用用来检测字符串错误的Q...原创 2020-03-29 23:37:22 · 11593 阅读 · 2 评论 -
结构体中QString无法赋值
问题描述使用结构体后想要对节点中的QString进行初始化赋值,但是发现失败,如下:/*---结构体声明---*/typedef struct InfoNode{ int carCode; QString carLicence; int typeCode; QString carName; QString carOut; int carRent...原创 2020-03-21 14:54:32 · 5907 阅读 · 1 评论 -
Qt如何自定义修改表头背景颜色
问题描述 笔者希望提供给用户自定义修改表头背景颜色的机会,但是查找多个资料都表示,Qt无法通过下述方式对已设置过表头颜色的表头进行颜色更换;还有表明无法对表头背景颜色进行更换的,如下: 但是经过无数试错,我发现,其实表头背景可以实时修改,下面开始讲述。解决办法正确方法: 已知Qt提供了由样式表来设置表头背景、字体样式等方法,具体代码如下:ui->tableWidget-&...原创 2020-03-01 18:43:58 · 4549 阅读 · 2 评论 -
Qt设置spinBox不能显示超出范围的数字
问题描述 由于对tableWidget进行批量添加行操作时,需要不断更新spinBox的上限,并能使得其能形成循环。解决办法查看Qt文档,QSpinBox是QAbstractSpinBox的子类,该类提供了setWrapping()函数,用于使其形成循环,如下: 要对spinBox的上限进行实时更新,可在其值被修改是,进行相关响应;点击spinBox,右键选择转到槽,添加value...原创 2020-02-29 19:44:10 · 5051 阅读 · 0 评论 -
Qt包含splitter界面大小分割
问题描述先放一个链接:Qt解决splitter活动范围过大 在UI完善的过程中,发现即使对splitter活动范围添加了限制(如何添加限制见上面链接),有时也不能将UI界面完美显示,发现界面显示总是过于小。解决办法先观察你的UI设计界面中mainwindow的界面是否有自行拉大,因为刚开始Qt所设置的UI布局界面大小比较小,但随着组件的增多这个大小可能会不够使用,因此应将界面拉大,比如...原创 2020-02-29 16:38:02 · 1993 阅读 · 1 评论 -
QMetaObject::connectSlotsByName: No matching signal for on_removeLine_triggered()
在Qt构建运行过程中出现如下提示:QMetaObject::connectSlotsByName: No matching signal for on_removeLine_triggered() 已知,对于命名为name的控件,它所对应的槽函数会被自动命名为“on_name_信号名”的形式;因此,如果我们使用connect函数将编写自定义函数时也将其命名为上述形式,就会报错。 ...原创 2020-02-29 13:26:58 · 610 阅读 · 0 评论 -
QTableWidget插入行解决最后一行异常情况
问题描述 先引用《Qt5.9C++开发指南》书P117页最下方关于insertRow()函数的一段描述。在行号为row的行前插入一行,如果row等于或大于总行数,则在表格最后一行添加一行。 这里的行号存在一定问题,行号如果指代tableWidget自己标注的从1开始的行号的话,该描述便存在错误。当我进行表格添加行操作并考虑到末尾行的特殊情况时,根据上述描述出现偏差,导致一次点击最后一...原创 2020-02-28 23:16:55 · 5008 阅读 · 0 评论 -
Qt如何获得当前界面
问题描述 在使用右键菜单栏时,希望对同一个点击对象由于界面位置的不同而产生不同的响应,举例如下图: 例如,我的界面中有一个QTabWidget,其中有三个不同的page,page中均为QTableWidget;而我的右键功能有为当前行上面或下面插入行,那么就需要对不同的界面进行不同的响应操作,只有鼠标在该界面时才对该界面进行添加行操作,其他界面均不进行。 该问题的产生在于:右键菜单栏...原创 2020-02-28 12:02:40 · 4271 阅读 · 0 评论 -
Qt右键多级菜单栏构建
如何添加右键菜单栏? 目前原创 2020-02-28 11:10:11 · 1901 阅读 · 0 评论 -
Qt解决splitter活动范围过大
问题描述在设置了splitter后,窗口可进行自由拖动,但是可以被缩小到底,这是我们不希望的,描述的情况就像下图,缩没了:解决办法查看splitter属性,发现有一个为minimumSize,默认值为0*0,故我们修改它,将最小值调成我们想要的,如下图:结果发现还是没有解决,继续往下看属性,有个名叫childrenCollapsible,翻译一下是孩子可折叠性,默认值是勾选状态,这就可...原创 2020-02-24 23:08:33 · 1192 阅读 · 0 评论 -
Qt程序启动界面图片无法显示
如何添加启动界面请拉到底 如题,码好启动界面的代码后发现图片无法显示,只能显示一个灰色的正方形框。解决办法:将所需文件加入资源文件中;失败,但有人成功。将图片文件格式进行调整,有人将png文件换成bmp文件后成功了,但我没成功;如何转换成bmp文件,该文直接拉到底有解决方法,不赘述。换个文件,我觉得这个方法的意义在于改变图像像素大小;我试了,没啥用。将图片地址换为绝对地址,成功!...原创 2020-02-23 22:05:17 · 2926 阅读 · 0 评论 -
QTableWidget所遇问题总结
表格无法显示 在对QTableWiget进行了表头设置等动作后,表格仍无法进行显示。 原因:在将tableWidget拖至UI界面后,默认只是申请了这样一个对象,而该对象的默认行列设置为0,可在Qt右下侧属性–QTableWidget中看到,此时行、列值均为0,如下:调整该值后即可进行显示。表格不能平铺占满窗口,只显示一部分表格不能平铺占满窗口,只显示一部分,如下图:解决办法:...原创 2020-02-23 12:04:08 · 4113 阅读 · 1 评论 -
工具栏QAction图标在程序运行时不显示的问题
正题 问题如题。解决办法:将用到的图像文件复制到exe文件执行命令下,未解决,但有人解决了。构建 -> 清理项目;构建 -> 构建项目;构建 -> 执行qmake;构建 -> 运行;未解决,但有人解决了。在设置QAction时选择图像文件路径变为“从资源文件”,如下:(如何添加资源文件随便搜一下,都有,就不说啦)成功解决,如下图:注:图像文件的...原创 2020-02-20 16:10:19 · 2499 阅读 · 0 评论 -
Qt窗口文字显示不全
在使用Qt开发程序时,上手程序出现文字被遮挡的问题,如下图: 经过搜索,发现是由于电脑分辨率较高而导致的问题,解决方法为在QApplication创建之前添加如下代码:QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);添加后问题解决,效果如下:贴上参考大佬的文章,防止以后出现其他问题:Qt应用程序文字显...原创 2020-02-18 14:11:44 · 7311 阅读 · 5 评论