Qt
vbs16
这个作者很懒,什么都没留下…
展开
-
QwtPolarPlot相关一个编译错误:‘staticMetaObject‘ is not a member of ‘XXXClass’
这个错误是怎么引起的呢?就是如果一个类不是从QObject及其相关子类派生的,但是误用了Q_OBJECT宏,就会报如题所示的错误。问题:项目中用到QwtPolarWgt类,报这个错误,.h .lib包含没问题, 去掉Q_OBJECT 宏的确不会报错,但是要用到相关属性。解决方法:在C/C++ 预处理器 中加入 qwt qwtpolar 预处理宏就可以解决(TODO:暂时忘了宏写法,明天补上ku)...原创 2020-07-01 23:16:02 · 660 阅读 · 0 评论 -
- + 作为分隔符解析字符串
Minus "-"{ QString str = "1-3"; //"-" QStringList strList = str.split("-"); //size = 2 1,3 //QRegExp("+") QStringList strList1 = str.split(QRegExp("-")); //size = 2 1,3 //QRegExp("[+]") QStringList strList2原创 2020-06-29 00:25:26 · 355 阅读 · 0 评论 -
事件过滤器(installEventFilter)
Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。假设我们有一个CustomerInfoDialog控件,由一些QLineEdit控件组成。我们希望使用Space键得到下一个QLineEdit的输入焦点。一个最直接的方法是继承QLineEdit重写keyPressEvent()函数,当点击了Space键时,调用focusNextChild():void MyLineEdit::keyPressEvent(QKeyEvent.原创 2020-06-23 23:49:33 · 6116 阅读 · 0 评论 -
lambda表达式 带参数使用
connect(_pGroupMode, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), [=](int id) { //to do something} );原创 2020-06-19 21:17:54 · 1109 阅读 · 0 评论 -
Qt键盘组合键
按键+按键组合,例如ctrl+字母(先ctrl后A触发,先A后ctrl不可触发):void MyAPP::keyPressEvent(QKeyEvent *event) { if ((event->modifiers() == Qt::ControlModifier) && (event->key() == Qt::Key_A)) { QMessageBox::aboutQt(NULL, "aboutQt"); }原创 2020-06-11 23:39:36 · 3193 阅读 · 0 评论 -
QT中如何给QTabWidget的整个Tab页添加border边框
实现的效果如图所示:虽然实现的Style代码就几句,但是也真的苦了宝宝了,琢磨了很久才终于给解决了额,如果要增加边框的粗细和背景色,Style中重新设置下就好了,理解起来应该没有问题的。 tabWidget->setStyleSheet("QTabWidget:pane{ \ border: 1px solid red; top: -1px;background-color:grey;}\ ...原创 2020-06-11 23:23:38 · 3936 阅读 · 0 评论 -
QT-从QLayout中遍历出组件(Widget)
for (int cc = m_historyLayout->layout()->count()-1; cc >= 0; --cc) { QLayoutItem *it = m_historyLayout->layout()->itemAt(cc); QTableWidget *orderHistory = qobject_cast<QTableWidget *>(it->widget()); if (orderHis.原创 2020-06-10 23:01:21 · 6037 阅读 · 1 评论 -
作为子窗体的透明度设置
QGraphicsOpacityEffect* opaEffect = new QGraphicsOpacityEffectthis->setGraphicsEffect(opaEffect );opaEffect->setOpacity(val)原创 2020-06-10 23:01:46 · 307 阅读 · 0 评论 -
Qt删除文件夹
//删除文件夹 bool MainWindow::DelDir(const QString &path) { if (path.isEmpty()){ return false; } QDir dir(path); if(!dir.exists()){ return true; } dir...原创 2020-06-10 23:02:32 · 5102 阅读 · 0 评论 -
点击任务栏软件最小化
重写widght标题栏,需要设置setWindowFlags(Qt::framelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinimizedButtonHint )原创 2020-06-10 23:05:12 · 291 阅读 · 0 评论 -
QSplitter/QLayout 分割器分割比例设定
QSplitter *spliter = new QSplitter(Qt::Horizontal,this);spliter->addWidget(A);spliter->addWidget(B);spliter->setStretchFactor(0,3);spliter->setStretchFactor(1,7);即可把A、B以3:7的比例分割...原创 2020-06-10 23:05:27 · 1690 阅读 · 0 评论 -
Qt窗口属性与或表示
//右上角 最大化窗口按键变灰//去掉最大化 设置flag为Qt::Dialogthis->setWindowFlags(this->windowFlags() &~ Qt::WindowMaximizeButtonHint);原创 2020-06-10 23:07:01 · 572 阅读 · 0 评论 -
Qt状态栏 QStatus
QStatusBar类提供一个水平条来显示状态信息。所谓状态信息,拿个简单的例子来说,当你在word中编辑时,左下角就会出现页面、字数等等信息。状态信息可以分为三类:临时信息,如一般的提示信息;正常信息,如页数;永久信息,如版本信息。QMainWindow中默认提供了一个状态栏。我们可以使用showMessage()来显示一个临时消息,它会出现在状态栏的最左边。我们一般用addWidget()将一...原创 2020-06-10 23:08:11 · 2082 阅读 · 0 评论 -
QScrollArea简单实用
1.代码实现QScrollArea* area = new QScrollArea(this);QWidget * wgt = new QWidget;QPushButton *btn = new QPushButton(wgt);btn->setText("123456");btn->move(130, 50);area->setWidget(wgt);//...原创 2020-06-10 23:08:48 · 176 阅读 · 0 评论 -
Qt填充widget背景色
QPalette pal = ui.widget->palette();pal.setColor(QPalette::Background, QColor(160,160, 160, 255));ui.widget->setPalette(pal);ui.widget->setAutoFillBackground(true);原创 2020-06-10 23:08:58 · 768 阅读 · 0 评论 -
Qt属性系统
QObject::setPropertyQObject::setProperty("name", "liu");QString name = QObject::property("name").toString();通过Q_PROPERTYQ_PROPERTY(bool focus READ hasFocus);Q_PROPERTY(bool enabled READ isE...原创 2020-06-10 23:17:02 · 112 阅读 · 0 评论 -
Qt 信号/槽
connect接口:[static] QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)...原创 2020-06-10 23:16:39 · 151 阅读 · 0 评论 -
Thread barrier
thread 等待所有线程执行完毕int count = 0;int totalCount = radThreadVec.size();while(true){ for(int i=0; i<totalCount; ++i) { if(radThreadVec.at(i)->isFinished() ) cou...原创 2019-11-13 20:21:38 · 216 阅读 · 0 评论 -
MSVC Qt工程添加程序图标
1. 创建 .rc文件 2 rc文件写入IDI_ICON1 ICON DISCARDABLE "20.ico" .ico路径要保证正确3 添加现有项,添加rc文件(不必添加ico,rc会索引到)注:工程原有的rc文件如果不生效,重新创建添加...原创 2020-06-10 23:28:01 · 400 阅读 · 0 评论 -
Qt QLable 响应单击点击事件
第一种方法使用eventFilter事件过滤器,具体方法参照https://www.devbean.net/2012/10/qt-study-road-2-event-filter/效果图主要代码#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) ...原创 2020-06-10 23:33:25 · 250 阅读 · 0 评论 -
QT状态栏QStatusBar
状态栏显示的信息分3种1. 一般信息,用QLabel 代表2.永久信息,文本会一直显示在状态栏的最右边。3. 临时信息,指定信息现实的时间。时间到即信息消失locationLabel_ = new QLabel("July");//locationLabel_ = new QLabel;locationLabel_->setAlignment(Qt::Align...原创 2020-06-10 23:33:00 · 382 阅读 · 0 评论 -
Qt设置QLineEdit控件不可编辑、密文输入、输入格式等小技巧
1、设置不可编辑setReadOnly(false);//或setEnabled(false);//或 setFocusPolicy(Qt::NoFocus);//无法获得焦点,自然无法输入,其他文本控件类似//或hasAcceptableInput(false);2.setPlaceholderText()设置提示文字如图,搜索输入框,没有输入任何字符时,显示“...原创 2020-06-10 23:32:26 · 4042 阅读 · 0 评论 -
QActionGroup类详解
QActionGroup类将actions分组。在某些情况下将QAction分组是十分有用的。例如,如果你有一个Left Align的action,一个Right Align的action,一个Justify的action,以及一个Center action,在统一时刻所有这些actions只能有一个被激活。一种简便的做法就是将这些actions以分组的方式组织。下面...原创 2020-06-10 23:30:58 · 272 阅读 · 0 评论 -
QT工具栏按钮
工具栏按钮:采用ToolBar直接建立工具栏按钮,一般一排连续的几个按钮可使用一个ToolBar的不同Action进行分配,一个Action对应着一个按钮;若是有两个ToolBar,则之间会有分隔(竖线右侧带点),属于不同的两部分。此外还可以通过toolBar->addSeparator添加分隔符,将不同操作分开。按钮的图标可通过Action进行插入,注意图片要先导入资源中,再输入资...原创 2020-06-10 23:30:11 · 810 阅读 · 0 评论