Qt
-却道天凉好个秋
小小开发仔
展开
-
QDir类关于mkdir和mkpath的区别
比如创建“c:\\test1\test2”;对于mkdir,如果test1目录不存在,则会创建失败,只有test存在才能成功创建test2对于mkpath,则会根据路径名直接创建,不管test1是否存在原创 2020-07-14 13:48:34 · 583 阅读 · 2 评论 -
Qt delgate的使用
1.自定义的delegate继承自QItemDelegate2.必须重载的一些函数: //返回一个编辑控件,用来编辑指定项的数据 (1) QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,const QModelIndex &index) const; //将Model中数据赋值到控件上 (2) vo...原创 2020-06-02 13:36:42 · 448 阅读 · 0 评论 -
利用Qt画一个时钟
#pragma once#include <QtWidgets/QMainWindow>#include "ui_QtClock.h"class QtClock : public QMainWindow{ Q_OBJECTpublic: QtClock(QWidget *parent = Q_NULLPTR); QRectF textRectF(double ...原创 2019-12-19 09:43:27 · 624 阅读 · 0 评论 -
继上篇---另一种写法
class CustomTabStyle : public QProxyStyle{public: QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const { ...原创 2019-11-26 14:23:48 · 299 阅读 · 0 评论 -
QTabWidget tabBar放在左侧,文字按水平方向显示
重载QTabBar的painteventclass TabBar: public QTabBar {public: QSize tabSizeHint(int index) const{ QSize s = QTabBar::tabSizeHint(index); s.transpose(); return s; }pro...原创 2020-10-21 15:07:15 · 11647 阅读 · 3 评论 -
为QLineEdit添加验证器
代码如下QIntValidator *vi=new QIntValidator(10,900,this); //使整数范围位于10~900之间。ui->lineEdit->setValidator(vi); /*安装验证器vi后,pe1将只能输出比900更小的整数,且不能输入字母等非数字。*/QDoubleValidator *vd=new QDoubleValidator...原创 2019-11-22 15:03:53 · 662 阅读 · 0 评论 -
Qt加载Qss文件
把qss添加到资源文件中int main(int argc, char *argv[]){ QApplication a(argc, argv); MainWindow w; QFile file(":/new/prefix1/common.css"); if( file.open(QFile::ReadOnly)) { QSt...原创 2019-11-21 10:19:54 · 731 阅读 · 0 评论 -
Qt右键菜单的几种实现方法
1. 修改右键菜单策略MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); addAction(new QAction("新增",this)); addAction(new QActi...原创 2019-11-09 13:41:06 · 5066 阅读 · 1 评论 -
QT定时器
Qt中定时器的使用有两种方法,使用QObject类提供的定时器 使用QTimer类。下面分别给出对应的demo1.#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : pu...原创 2019-11-04 15:26:42 · 239 阅读 · 0 评论 -
Qt自带默认图标
btnIcon->setIcon(style()->standardIcon(QStyle::SP_ComputerIcon));btnClose->setIcon(style()->standardIcon(QStyle::SP_TitleBarCloseButton));enum StandardPixmap { SP_TitleBarMenu...原创 2019-10-21 16:50:33 · 2348 阅读 · 0 评论 -
Qt event->buttons()与Qt event->button()的区别
在上一篇文章用到了这两个函数,在这里做一下分析。event->button() : 返回产生事件的按钮event->buttons: 返回产生事件的按钮状态,函数返回当前按下的所有按钮,按钮状态可以是 Qt::LeftButton,Qt::RightButton,Qt::MidButton或运算组合例如...原创 2019-10-20 10:24:35 · 1832 阅读 · 4 评论 -
Splash与登陆窗口
本实例演示如下的一些功能的实现方法如何实现Splash特点的无边框对话框 如何设计用鼠标拖动无边框的对话框 如何使用QSetteings类存储用户名,密码等信息 如何用QCryptographicHash类进行字符串加密 如何根据登陆输入状况确定启动主窗口或终止程序运行对话框界面设计和类定义创建启动登陆对话框,从QDialog继承而来,里设置类名为QDlgLogin。界面在UI设...原创 2019-10-20 10:19:38 · 460 阅读 · 0 评论 -
Qt多语言翻译
1. 界面上所有想翻译的中文全部用tr()包裹住。2.生成QTranslator file(.ts)文件。处理对应的文件,填写正确的翻译3.lupdate更新ts文件。lrelease把ts文件序列化成qm文件。下面就是加载qm文件。int main(int argc, char *argv[]){ QApplication a(argc, argv); ...原创 2019-10-18 14:04:39 · 214 阅读 · 0 评论 -
Qt多线程QThread
摸索了一下午,对Qt多线程的两种方法做个总结。貌似Qt官方更推荐第二中方法。1. 继承QThread类。通过新写一个类来继承QThread,然后重写run方法实现。class myThread : public QThread{ void run(); //只有run里面才是在新线程里};通过调用线程基类的started()启动线程,started()信号绑定了...原创 2019-10-16 17:26:49 · 555 阅读 · 0 评论 -
Qt系统托盘
话不多说,直接上代码loginDialog::loginDialog(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); system_tray = new QSystemTrayIcon(); //放在托盘提示信息、托盘图标 system_tray->setToolTip(QString("我就是托盘")...原创 2019-10-14 14:50:56 · 313 阅读 · 0 评论 -
自定义Qt Designer插件
采用创建Qt Designer插件的方式来创建QwBattery类,并将其安装到UI设计器的组件面板里。该类的功能与上篇所讲的QmyBattery类功能一样。要创建UI设计器插件类,单击Qt Create的“File”-> "New File Project"菜单,在出现的对话框里选择”其它项目“分组里的”Qt4设计师自定义控件“,会出现一个向导对话框,按向导逐步完成项目创建。...原创 2019-09-12 16:53:34 · 1330 阅读 · 0 评论 -
Qt程序打包
先将Qt编译成release版本,生成可执行文件。 将生成的exe copy到一个新的文件夹,在该路径下打开cmd命令行窗口。 输入命令“程序名.exe”。 按下回车键后会将软件得所有依赖文件加载到当前目录下。 准备生成可安装软件,可百度下载innosetup。 打开软件,点击“文件”菜单下的“新建”命令,如下图。 点击下一步,输入程序名称、版本号等。 ...原创 2019-09-19 15:20:44 · 153 阅读 · 0 评论 -
图形视图体系结构
1. Graphics View的特点 Graphics View框架结构的主要特点如下 Graphics View框架结构中,系统可以利用αt绘图系统的反锯齿、 OpenGL工具来改善绘图性能。 Graphics View支持事件传播体系结构,可以使图元在场景( scene)中的交互能力提高一倍,图元能够处理键盘事件和鼠标事件。其中,鼠标事件包括鼠标按下、...原创 2019-09-20 10:21:59 · 349 阅读 · 0 评论 -
Qt5 模型/视图结构
原创 2019-09-20 11:59:46 · 128 阅读 · 0 评论 -
QGraphics View绘图架构实例
1. 定义一个带界面的类QFormTable,继承QWidget,该类的实现如下头文件#include <QWidget>#include "ui_QFormTable.h"class QFormTable : public QWidget{ Q_OBJECTpublic: QFormTable(QWidget *parent = Q_NULLPTR); ...原创 2019-09-26 17:29:12 · 2236 阅读 · 3 评论 -
Qt 对话框----打开文件对话框和保存文件对话框
1. 打开文件对话框通过判断fileName是否为空来判断是选择了一个文件还是点了取消。函数原型及参数解释如下。QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const...原创 2019-09-27 10:22:32 · 1750 阅读 · 0 评论 -
Qt使用QJson生成json文件并保存
#include <QJsonDocument>#include <QJsonParseError>#include <QFile>#include <QJsonObject>#include <QDebug>#include <QJsonArray>#include <QByteArray>vo...原创 2019-10-09 13:55:17 · 6827 阅读 · 2 评论 -
Qt使用QJson生成json文件并保存(二)
void MainWindow::createObject(QJsonObject &obj, QString version, QString path){ obj.insert("version", version); obj.insert("gds", path); QJsonArray arraySub; QJsonObject subsub; subsub.ins...原创 2019-10-09 15:08:19 · 1420 阅读 · 1 评论 -
Qt 自定义Widget组件
在某些时候需要设计特殊的界面组件,而在UI设计器的组件面板里没有合适的组件,这时候就需要设计自定义的界面组件。所有的界面组件的基类是QWidget,要设计自定义的界面组件,可以从QWidget继承一个自定义的类,重定义它的paintEvent()事件,用Qt的绘图功能绘制组件外观,并实现需要的功能。例如我们需要设计一个电池电量显示的组件,如下图所示。 1. 设计一个从QWidg...原创 2019-09-12 15:12:33 · 7962 阅读 · 3 评论