置百丈玄冰而崩裂,掷须臾池水而漂摇。
QT

[Qt]Qt中静态变量的使用方法

Qt中静态变量的使用方法

在头文件中声明静态变量: 


    static QQueue<QString> _q;

    static StaticInstance Instance;


 

#ifndef STATICINSTANCE_H
#define STATICINSTANCE_H

#include <QObject>
#include "systeminfo.h"


class  StaticInstance : public QObject
{
    Q_OBJECT
public:
    static QQueue<QString> _q;
    static StaticInstance Instance;
    void logError(const QString& err);

signals:

public slots:

private:
    explicit StaticInstance(QObject *parent = nullptr);


};

#endif // STATICINSTANCE_H


强强 2023/12/11 0评论

QT

[QT]Qt中给QDialog 设置背景图

qt中给QDialog 设置背景图方法


方法一:使用 QPalette 对象:

 QPalette palette;
    QPixmap pix;
    pix.load(":/Images/back.png");
    palette.setBrush(backgroundRole(),QBrush(pix.scaled(this->size())));
    setPalette(palette);


强强 2023/10/21 0评论

QT

[QT]Qt 退出系统

Qt 推出系统的方法

方法一:exit

Application* app;
app->exit(0);


方法二:quit

QApplication* app;
app->quit();


强强 2023/10/21 0评论

QT

[QT]Qt 连接 Sqlite数据库

Qt 连接 Sqlite数据库 的方法


核心使用类:

QSqlDatabase:提供了一个接口,用于通过连接访问数据。QSqlDatabase的一个实例表示连接。该连接通过受支持的数据库驱动程序之一提供对数据库的访问,该驱动程序派生自QSqlDriver。

QSqlError:可以显示数据操作的错误

强强 2023/10/10 0评论

QT

[Qt]Qtimer 的快速使用

QTimer 是Qt中的一个定时器类,可以用来触发定时功能

常用方法:

void start(std::chrono::milliseconds msec) 启动一个QTimer,milliseconds 触发时间差,单位毫秒

强强 2023/9/16 0评论

QT

[Qt]QT 关于int、double、string、QString格式相互转换的方法

QT 关于int、double、string、QString格式相互转换的方法

1,int与double

//int转double
int a = 1234;
double b;
b = a;//直接赋值就可以

//double转int
double c = 123.456;
int d;
d = c;//d的结果为123,即只取整数部份
d = c*1000;//乘1000将小数消掉即可,注意int位数要求,避免溢出


2,int与string

//int转string
int a = 123456;
string b;
b = std::tostring(a);

//string转int
string c = "123456";
int d;
d = atoi(c.c_str());//string转float 用 atof()


3,int与QString

//int转QString
int a = 123456;
QString b;
b = QString::number(a,10,5);//QString::number(a,基底,精度)
//方法2,利用arg()
int a = 123456;
QString b = QString("%1").arg(a);

//QString转int
QString c = "123456";
int d;
d = c.toInt();


4,double与QString

//double转QString
double a = 123.456;
QString b;
b =  QString::number(a,10,5);//同int

//QString转double
QString c = "123.456";
double d;
d = c.toDouble();//类似int


5,string与QString

//string转QString
string a = "123.456";
QString b;
b = QString::fromStdString(a);

//QString转string
QString c = "123,456";
string d;
d = c.toStdString();


强强 2023/9/15 0评论

QT

[Qt]自定义控件使用

Qt中使用自定义空间使用


一、新建自定义控件文件,选择Qt->Qt设计师界面类(会有UI拖动界面)

二、选择Widget模板

强强 2023/9/15 0评论

QT

[Qt]QMenuBar和QMenu

QMenuBar和QMenu


构建一个菜单栏:menuBar

//创建菜单栏
QMenuBar *bar = menuBar();
//设置到页面中
this->setMenuBar(bar);


创建两个菜单:addMenu

    QMenu *fileMenu =  bar->addMenu("文件");
    QMenu *editMenu =  bar->addMenu("编辑");

效果:

强强 2023/9/7 0评论

QT

[Qt]lambda 表达式

lambda 表达式说明:

含义:lambda表达式是定义匿名函数对象的便捷方法,直接在调用或作为参数传递的函数位置.

表达式示例: [=] ( ) mutable throw( ) -> int { } 

  由6个部分组成

  1.capture子句(C++规范中也称为lambda引入器).

强强 2023/9/6 0评论

QT

[Qt]自定义信号槽(3)

信号槽其他操作:


关联信号槽:

//信号关联信号
    void(teacher::*teacherSingler2)(void) = &teacher::hungry;
    void(student::*studentSlot2)(void) = &student::eat;
    connect(teh,teacherSingler2,stu,studentSlot2);
    connect(btn,&QPushButton::clicked,teh,teacherSingler2);


强强 2023/9/4 0评论

QT

[Qt]自定义信号槽(2)

带参数的信号槽使用方法,重载的使用


1、新增信号槽发起类,teacher

#ifndef TEACHER_H
#define TEACHER_H

#include <QObject>

class teacher : public QObject
{
    Q_OBJECT

public:
    teacher(QObject *parent = 0);


signals:
    //自定义信号槽
    //返回void
    //可以有参数,无参数  重载
    void hungry();
     //重载方法 传入吃的东西名称
        void hungry(QString  name);
    
};

#endif // TEACHER_H

2、新增信号槽关联对象

强强 2023/9/3 0评论

QT

[Qt]QPushButton 的使用

QPushButton 是按钮

增加引用

#include "QPushButton"


初始化:

//方法一
 QPushButton *button = new QPushButton;
 
//方法二
QPushButton *btn = new QPushButton("按钮1",this);


强强 2023/9/2 0评论