在Qt中的两个按钮之间共享变量

时间:2013-02-24 20:57:15

标签: qt visual-c++

void xx::on_pushButton_clicked()
{
    QFileDialog dialog(this);
    dialog.setNameFilter(tr("Images (*.png *.gif *.jpg)"));
    dialog.setViewMode(QFileDialog::Detail);

    QString fn = QFileDialog::getOpenFileName(this,
                                              tr("Select Image"),
                                              "e:/",
                                              tr("Images (*.png)"));
    // Do something
}

void xx::on_pushButton_2_clicked()
{
    QString ex= fn; // to be accessed from the above button selection
}

我想使用按钮选择的文件名,以便通过另一个按钮建立动作。我该怎么做?

1 个答案:

答案 0 :(得分:1)

您只需将fn声明为类xx的数据成员即可。

考虑到这个问题的简单性,我想知道你是否试图通过试一试的方法来学习C ++。虽然这可能是与其他语言或环境(例如Python)合理的方法,但它有一个真正的可怕的C ++理念,原因有二:

  1. 由于历史原因和委员会的影响,C ++在一些部分是非常“不合逻辑的”。了解它的行为方式的唯一方法是阅读,因为逻辑并不总能给你正确的答案。

  2. C ++的主要哲学是程序员不会出错,当程序员做错时,结果不是“运行时错误”,而是“未定义的行为”。

  3. 这两个因素的混合使得C ++的试用方法只是自杀:语言复杂且不合逻辑,并且在你犯错误时不会告诉你。

    你应该pick a good C++ book并首先阅读封面。