QT编程
文章平均质量分 63
qq_20853741
这个作者很懒,什么都没留下…
展开
-
qtQMouseEvent中的局部坐标pos()和全局坐标globalpos()
新建一个窗口程序,然后创建一个QMenu对象。在构造函数里初始化menu = new QMenu("menu", this); //menu在头文件声明QAction *action = new QAction(tr("1111"), this); //为使目录较大,能看见,我们添加一个actionmenu->addAction(action);然后在mousePressEvent里看到效果void Dialog::mousePressEvent(QMouseEvent *e){ ...原创 2021-06-17 11:20:44 · 8164 阅读 · 0 评论 -
QRect与QRectF的区别
也就是说,对于QRect来说,使用TopLeft获得的是正确的左上角坐标,但是其BottomRight()坐标是不正确的!对比QRectF就很清晰了.QRectF ClassQRectF例子拿一个例子来对比,假设有一个矩形左上角为(0, 0),长宽都为100.那么我们期待的一个矩形的左上角和右下角应该是(0, 0)(100, 100)。但,如果用构造函数QRect(0, 0, 100, 100)会得到:左上角(0, 0)右下角(0, 99)而对于构造函数QRectF(0, 0, ...原创 2021-06-16 16:11:21 · 1023 阅读 · 0 评论 -
橡皮筋类 QRubberBand
在图形编辑应用中常会用到橡皮筋线,如选择图形的某个区域等,最常见的就是在系统桌面上用鼠标拖动,可以绘制一个类似蚂蚁线的选区,并且选区线能够跟随鼠标的移动而伸缩,因此叫作橡皮筋线。qt 中用于描绘橡皮筋线的类是QRubberBand,当然单有一个QRubberBand 类还是不能做出橡皮筋的效果出来, 另外还要有鼠标事件的配合,与QRubberBand 配合的鼠标事件有 鼠标单击,拖动及释放。创建一个QRubberBand 类,new QRubberBand(QRubberBand::Line,th...原创 2021-06-16 16:08:50 · 1279 阅读 · 0 评论 -
qt tablewidget中item添加背景色
qt tablewidget中item添加背景色qt tablewidget中item背景色问题void MainWindow::ReceveMsg_slot(int mode){ ui->tabwidget->setItem(mode,1,new QTableWidgetItem(str1)); ui->tabwidget->setItem(mode,2,new QTableWidgetItem(str2)); QTab...原创 2020-12-15 14:54:57 · 8509 阅读 · 4 评论 -
QString的size()与QByteArray的size()的区别&&QString::at()和QString::left()
一、QString的size()与QByteArray的size()的区别在实际测试中,发现QByteArray的size与QString的size不一致原因是,报文中打包的是通过QByteArray::size()算出的大小,而解包的时候却是用的QString::size()算出的大小如下是两种格式下size()函数的介绍:QByteArray的size()QString::size()也就是说:QByteArray::size()返回的是字节数,而QString::size(原创 2020-11-06 10:09:24 · 1707 阅读 · 0 评论 -
解读qRegisterMetaType
解读qRegisterMetaTypeqRegisterMetaType(const char *typeName)代码来源:src/corelib/kernel/qmetatype.htemplate <typename T>int qRegisterMetaType(const char *typeName){ typedef void*(*ConstructPtr)(const T*); ConstructPtr cptr = qMetaTypeConstr...原创 2020-11-02 11:33:41 · 2369 阅读 · 0 评论 -
解决sprintf()和QString中文乱码问题
解决sprintf()和QString中文乱码问题一、现象QString str;QString tip = QString::fromLocal8Bit("我是个好孩子:");QString tip2 = QString::fromUtf8(tip.toUtf8().data());str.sprintf("%s %d",tip2.toUtf8().data(), 14);textEdit->setPlainText (str);QString str;QString tip =原创 2020-10-13 16:50:15 · 4411 阅读 · 0 评论 -
QDialog的accept()和reject()介绍
accept()和reject() 这两个槽函数 都会和close() 一样关闭dialog但是 accept()关闭后 返回了Dialog::Accepted但是 reject()关闭后 返回了Dialog::Rejected这样当我们需要 知道 dialog 是哪个按钮关闭的时候,就可以调用这连个槽;#include "mainwindow.h"#include "ui_mainwindow.h"#include "dialog.h"MainWindow::MainWindo...原创 2020-10-03 12:10:15 · 4891 阅读 · 0 评论