Qt Creator静态成员变量、全局变量、静态成员函数 | 您所在的位置:网站首页 › 静态成员和静态变量 › Qt Creator静态成员变量、全局变量、静态成员函数 |
静态成员变量
是一个全局区域的变量,不同*.cpp文件间可以相互访问(记得包含*.cpp对应的头文件) 1.在mainwindow.h中定义 public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); static int start_flg;2.在mainwindow.cpp中初始化,注意初始化的位置不要写在MainWindow里面去 #include "mainwindow.h" int MainWindow::start_flg=0; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); ......3.在其他cpp文件中访问时时,写作MainWindow::start_flg来访问 if(MainWindow::start_flg) { QPainter painter(this);//相当于QPainter *painter = new QPainter(this); //绘制坐标轴 painter.drawLine(0,40,210,40); } 全局变量这里要强调一点,全局变量和静态成员变量的生命周期不同,静态变量是局部的生命周期,在一个函数体内运行结束后,变量会恢复到原来的值,;而全局变量则是整个程序生命周期,一经改变则是永久性的。 .h在类的外面定义全局变量 #include #include #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE #if defined(_MSC_VER) && (_MSC_VER >= 1600) # pragma execution_character_set("utf-8") #endif extern double L12x; extern double L12y; extern double L12z; class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = nullptr); ~Widget(); void DataBaseLoad();.cpp初始化 #include "widget.h" #include "ui_widget.h" #include "operation.h" #include double L12x,L12y,L12z = 0; Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); DataBaseLoad(); qDebug() |
CopyRight 2018-2019 实验室设备网 版权所有 |