直接重写鼠标事件,遇到的问题是:只响应press事件,而move和release事件不响应。 解决方式是将item设为selectable或movable。 //构造函数中 this->setFlag(QGraphicsItem::ItemIsSelectable); this->setAccept
#include <QCoreApplication> #include <QJsonArray> #include <QJsonDocument> #include <QJsonObject> #include <QJsonParseError> #include <QFile> #include
场景 程序打开时有一个登录弹框,在主窗体构造函数中调用登录窗口,不登录直接关闭登录框时主程序退出。 实现 bool ok=mLogInDlg->exec(); if (!ok) { QTimer::singleShot(0,qApp,SLOT(quit())); } else { t
注意:Qt5.7及以下版本才支持XP 方法一 环境:Qt 5.6.3+MSVC2015 在.pro文件中添加以下文件: win32 { QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01 QMAKE_LFLAGS_CONSOLE = /SUB
项目中偶然发现没有逢5进位,原来使用了新的进位规则:四舍六入五成双 示例: double a=3.444; double b=4.446; double c1=3.435; double c2=3.445; double c3=3.4351; double c4=3.4451; QString st
说明 .pro中添加如下配置: # 配置图标(仅Windows有效) RC_ICONS = app.ico # 版本号 VERSION = 1.0.0 # 语言 # 0x0004 表示 简体中文 # 详见 https://docs.microsoft.com/zh-cn/windows/desk
使用代理: class CommonDelegate : public QStyledItemDelegate { Q_OBJECT public: CommonDelegate(); private: void paint(QPainter *painter, const
方法一:代理 新建一个代理类,重写paint函数: class CommonDelegate : public QStyledItemDelegate { Q_OBJECT public: CommonDelegate(); private: void paint(QPain
要点 1. setWindowModality(Qt::ApplicationModal);//设置Widget模态 2. 使用 QEventLoop 实现事件循环; 3. 重写 closeEvent ,退出事件循环; 实现 //.h public: int exec(); private: