QT良好的全局变量/对象处理

时间:2015-04-16 15:06:08

标签: c++ qt

我还是QT的新手,并且真的不知道如何在这里处理全局变量。

我想在main()中加载一个文件并将数据存储在Objects / Variables中,然后我需要通过::on_Button_clicked()等函数访问这些文件。

从插槽中访问主函数中设置的对象/变量的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

在您的头文件中,您可以像这样声明它们:

class frmMain : public QMainWindow
{
        Q_OBJECT

    public:
        explicit frmMain(QWidget *parent = 0);
        ~frmMain();

    private slots:
        void on_lineEdit_returnPressed();

    private:
        Ui::frmMain *ui; // <--
        QComboBox *comboBox; // <--
        QDialog *dialog; // <--
        QString test; // <--
};

然后在.cpp中定义它们并在课程中使用它们:

void frmMain::on_lineEdit_returnPressed()
{
    comboBox = new QComboBox( );
    test     = "Hello";

    comboBox->addItem( test );
}

除此之外,声明任何范围之外的变量仍然使它们像你从基本的c ++中所知的那样是全局的。