ui.tabWidget->setStyleSheet( “QTabWidget{background: #f0f0f0;}” ...
用于扩展Qt应用程序的低级API。下次介绍。 例如,如果您要编写自定义QStyle子类并让Qt应用程序动态加载它,则可以使用更高级别的API。...Qt官方文档:https://doc.qt.io/qt-5/plugins-howto.html。 程序环境:Ubuntu 14.04、 Qt5.5.1 使用Qt自带的例子方便入门。...让其他工程使用自定义样式 将我们生成的插件拷贝到下面目录,Qr Designer在运行时会自动查找插件,如果找到插件则会自动加载。 ? 下面是一个测试效果。...6、总结 主要就是运行了Qt自带的例子,方便初学者结合Qt自带的文档进行理解。 Qt的插件也可以理解为一种动态库,只不过只能是使用Qt来进行加载。...使用Qt开发的大型程序可以通过Qt的插件机制进行解耦。加载插件的宿主程序不关心插件的业务逻辑,只需按照对应接口调用即可;插件开发者可自己测试写的插件,方便维护。
来看看两者的使用方法和区别吧~ 1、QLineEdit文本框类 QLineEdit类中的常用方法如下表所示: 定义输入掩码的字符,下表中列出了输入掩码的占位符和字面字符,并说明其如何控制数据输入。...1个文本框e1,显示文本使用自定义字体、右对齐、允许输入整数。...QFormLayout from PyQt5.QtGui import QIntValidator , QDoubleValidator , QFont from PyQt5.QtCore import Qt...parent) e1 = QLineEdit() e1.setValidator( QIntValidator() ) e1.setMaxLength(4) e1.setAlignment( Qt.AlignRight...,效果如下所示: 示例中使用了一个QTextEdit控件:textEdit和两个QPushButton控件:btnPress1、btnPress2。
Lambda表达式 Qt5中有全新的信号与槽语法,在Qt4基础上提高了信号与槽的灵活性,允许使用任意函数作为槽函数。...connect(recvFile,&ReceiveFile::refuseFile(),[](){ return; }); 示例2: 传值方式捕获外部变量在函数体内部使用 connect(label...NotifyManager::getInstance()->notifyOtherWindowChangeSkin(colorList.at(row *4 +column)); }) 示例3: 传址方式捕获 使用
qt creator 多版本安装需要(单独下载qtcreator安装版本),安装目录默认在Qt目录下(qt的sdk也在qt目录下) 编译过程中遇到一些很奇怪问题,建议优先重新编译。...调试运行,找不到qt*core.dll等文件。 设置qt{version}\bin路径到环境变量Path 可以在qt项目设置的环境变量中追加path,不影响系统的环境变量。...找不到qt sdk的帮助 在设置里面,找到帮助,添加qt sdk目录doc\qch里面的文件 编译期和调试器匹配问题 mingw–>gdb clang–>lldb、gdb msvc–>cdb gdb...以后的版本下载需要自己编译,5.14支持的编译器比较多 https://download.qt.io/archive/qt/ 找不到_Zdlpvj函数入口 拷贝libstdc+±6.dll模块到程序运行目录...,或者运行配置环境,path中追加ming32\bin路径(使用Prepend,append不行,不要加载构建配置里面)
解决使用protobuf库过程中出现的编译问题。protobuf和XML,json一样的数据结构。 问题1 缺protobuf库,可以定义PROTOBUF_USE_DLLS来链接protobuf库。
Qt中使用Json需要一下几个类: QJsonValue 代表了json格式中的一个值 QJsonObject 代表了json格式的一个对象 QJsonArray...其中使用QJsonDocument 可以用来序列化和反序列化的过程,进而实现文件读写、socket的读写。
最近在做跨平台的终端开发,用到了QT,把遇到的问题和解决方法在这里记录下,供大家参考。...1)新建工程后,运行时提示如下: Error while building/deploying project YOUR_PROJECT_NAME (kit: Desktop Qt 5.8.0 MSVC2013...安装完成后,在QT Creator的工具-》选项中配置套件的调试器,如下图: image.png 参考文献: http://blog.csdn.net/suima0v0/article/details
http://www.cnblogs.com/tornadomeet/archive/2012/06/30/2571001.html 在上一篇博文Qt学习之路_4(Qt UDP的初步使用)... 中,初步了解了Qt下UDP的使用,这一节就学习下TCP的使用。...当然了,本文还是参考的《Qt及Qt Quick开发实战精解》一书中的第5个例子,即局域网聊天工具中的UDP聊天和TCP文件传送部分。...sendFileName(QString)), this, SLOT(getFileName(QString))); } Widget::~Widget() { delete ui; } // 使用...>> userName >> localHostName >> ipAddress >> message; ui->messageBrowser->setTextColor(Qt
我学过其他的一些语言,在设计程序界面的时候如果想显示一些文字可以使用 Label 控件,如果要显示图片可以使用 img 控件,要显示动画可以使用一些其他的控件,但这些在 Qt 中,全部都可以用 Label...CWidget::CWidget(QWidget *parent) : QWidget(parent) { QLabel* label = new QLabel("label", this); } 【使用...setFixedSize(250, 292); // 显示一张图片 QPixmap pixmap("LOL_banner_r7_25.png"); label->setPixmap(pixmap); 图片 【使用...Label 显示一幅动画】 // 显示动画 QMovie* movie = new QMovie("Cubs.gif"); label->setMovie(movie); movie->start(); 【使用
下载地址: https://github.com/VSRonin/QtXlsxWriter PS:适用于QT5版本 操作起来很简单,有个简单的参考代码地址: http://qtxlsx.debao.me...和我们之前添加第三方串口库方法类似 1.输入简单的代码 #include "xlsxdocument.h" int main() { QXlsx::Document xlsx; xlsx.write("A1", "Hello Qt
注意:使用本机X11图形系统时,销毁QApplication实例后,像素图将会无效。 并不能解释上面的运行时错误的原因。...警告:在创建任何绘画设备之前,Qt要求先存在QGuiApplication对象。 绘图设备访问窗口系统资源,并且在创建应用程序对象之前是不会初始化这些资源。 ...qt_pixmap_thread_test()) return; ... } static bool qt_pixmap_thread_test() { if (Q_UNLIKELY...的派生类都需要遵循,如: QImage QOpenGLPaintDevice QPagedPaintDevice QPaintDeviceWindow QPicture QPixmap 君君在实际使用中...Qt的某些类内用到QPaintDevice或其派生类也需要遵循,如: QIcon
当前Qt Creator已经允许建立Python文件了。我们可以使用Qt Creator当做Python的编辑器,支持高亮显示。但是不支持其他一些高级特性,比如自动填词功能。...打开Qt Creator,然后Tools->Options->Environment->External Tools。
Qt 4版本 可以获取到系统版本的变量或函数 头文件 #include 使用公有静态变量和静态方法获取Windows系统版本 const WinVersion WindowsVersion...WinVersion windowsVersion () 使用公有静态变量获取Mac系统版本 const MacVersion MacintoshVersion 使用静态方法获取塞班系统版本和塞班S60...SV_9_4, SV_SF_1, ..., SV_Unknown } enum WinVersion { WV_32s, WV_95, WV_98, WV_Me, ..., WV_CE_based } Qt...5.0 - Qt 5.9版本 以下方法在Qt 5.9版本以上被官方标记为不推荐使用 头文件 #include 使用公有静态变量和静态方法获取Windows系统版本 const...10_0, MV_10_1, MV_10_2, ..., MV_None } enum WinVersion { WV_32s, WV_95, WV_98, WV_Me, ..., WV_None } Qt
: https://www.tutorialspoint.com/pyqt/pyqt_introduction.htm 由于本人也是学习状态,翻译可能不准确,请及时指出,我会很快修正 一些关键字会直接使用英文...目前该专题为纯理论,实际操作在完成后有演示 PyQt版本: PyQt4 什么是Qt Designer Qt Designer 是一款图形化设计工具,通过简单的拖拽来设计UI而不用写代码 Qt Designer
先导 本文用于在qt中使用配置文件进行一些配置的保存 方法 关键点就是使用qt的一个类QSettings,该类提供一系列接口用于配置文件的操作如读取和写入,支持的配置文件格式有ini、conf...使用该类在软件启动时进行初始化操作对一些软件的配置进行赋值操作,可以使得上一次保存的配置可以继续使用,增加程序使用的便捷性。...value则是写入进配置文件的对应配置项的值,类型是QVarant,直接写入值可以自动转换类型 一些错误 中文乱码 中文乱码是因为没有对配置文件的编码做配置而于系统使用编码不匹配导致的,基本解决方案是将配置文件使用一个比较统一的编码格式...,因为我个人会跨平台使用代码,所以我会把配置文件的编码统一保存为utf-8的格式。...注意:使用该方法需要包含头文件#include ,否则无法使用QTextCodec的静态方法,并且注意配置文件的编码格式和设置的编码格式匹配。
; //虚函数 qml内部调用 获取第index行的内容 role 内容索引 QVariant data(const QModelIndex &index, int role =Qt...int nCol=index.column(); const ToolTag& d = m_datas[index.row()]; switch(role){ case Qt
旧的使用方式: #include "QThread" #include "QMutexLocker" #include "QMutex" class Thread:public QThread {...<<(int)currentThread(); sleep(2); } m_stopFlag = false; } 这是qt4.6及之前的使用方法,这种方式本没有什么错误...推荐的使用方式: #include class Worker : public QObject { Q_OBJECT private slots: void onTimeout...其主要特点就是利用Qt的事件驱动特性,将需要在次线程中处理的业务放在独立的模块(类)中,由主线程创建完该对象后,将其移交给指定的线程,且可以将多个类似的对象移交给同一个线程。...这个函数告诉Qt去处理那些还没有被处理的各类事件,然后再把控制权返还给调用者。
QMainWindow介绍 主窗口是与用户进行长时间交互的顶层窗口,比如记事本 主窗口通常是应用程序启动后显示的第一个窗口 QMainWindow是Qt中主窗口的基类,继承于QWidget,如下图所示...1.菜单栏 QT中提供了预定义的与菜单相关的类组件: ?...工具栏使用 在Qt中,通过QToolBar类来创建工具栏,然后通过QAction类来创建工具项,如下图所示: ?...Qt资源文件的作用,就是告诉Qt Creator,该文件处于哪个位置 编译运行: ?...:多行普通文本编辑组件(类似于记事本编辑) Qt,在文本编辑组件里自带了右键式菜单 可以实现复制,粘贴,剪切等,以QTextEdit为例: ?
使用QT来创建一个系统托盘,事实上是一件很简单的事。为什么这么说?一是因为QT文档给出了比较详细的例子,二是QT的结构比较优雅,设计风格统一。但是在动手之前,我们要从哪里下手?...虽然QT文档给出了一个比较详细的例子,但由于功能较多,所以看起来比较费劲。我们在这只是抽丝剥茧,只实现系统托盘这一个功能。...首先,使用QT creator创建一个GUI工程,继承于QDialog还是QMainWindow还是QWidget都无所谓。我们以继承QMainWindow为例说明。...addAction(quitAct); 20 systemTray->setContextMenu(pContextMenu); 21 systemTray->show(); 我们逐行进行讲解:第1行使用图标的文件路径生成一个
领取专属 10元无门槛券
手把手带您无忧上云