我已经getOPenFileName
在 qt 的处理程序中实现了(when_pushbutton_clicked
更具体地说)。如何将生成的字符串保存QString
在 main 中而不是处理程序中?
问问题
61 次
1 回答
0
您可以使用信号连接将文件名的路径保存在 QString 变量中。
const QString fileName = QFileDialog::getOpenFileName(0, tr("Select the file"), getLastDirectory(), "Txt Files (*.txt)");
if (fileName.isEmpty()) {
// No file was selected
return;
}
// then emit the signal
emit fileWasSelected(fileName);
在您的主要功能中,您无法通过简单的连接处理主类中的事件:
QObject::connect(yourClass, &YourClass::fileWasSelected, [&](const QString& filename) {
// Now, do what you want with your path
}):
另一种方法是将文件保存在私有变量中,并设置一个 getter:
class MyClass {
....
public:
inline QString path() const { return _path; }
private:
QString _path;
}
然后从 main 访问变量。
于 2017-07-05T10:24:29.027 回答