gpt4 book ai didi

c++ - 用qt为opencv程序构建一个gui

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:13:14 25 4
gpt4 key购买 nike

我开发了一个 opencv 程序,我从输入中获取了一些文件夹路径,所以我决定用 qt 创建一个 gui。 gui 很简单,基本上就是一些按钮。问题是我无法将字符串从一个按钮传递到另一个按钮。

std::string MainWindow::on_pushButton_3_clicked()
{
QString salvataggi=QFileDialog::getExistingDirectory(
this,
tr("Open File"),
"/home/"
);
salvat= salvataggi.toStdString();
return salvat;
}

我尝试使用指针但没有任何结果。

std::string MainWindow::on_pushButton_3_clicked()
{
QString salvataggi=QFileDialog::getExistingDirectory(
this,
tr("Open File"),
"/home/"
);
savee= &salvat;
*savee = salvataggi.toStdString();
return savee;
}

你能告诉我哪里错了吗?谢谢

最佳答案

此方法是一个回调,必须返回 void。它从主循环调用,由 Qt 引擎处理;并且它不关心回调的返回。

如果你想从回调方法中存储一些字符串,只需在你的 MainWindow 类中添加一些成员变量:

class MainWindow : public QMainWindow
{
// ...
std::string my_string;
//...
};

并从回调中给它你想要的值。

如果您只想从用户那里获得此信息,请退出窗口:this->close(); 然后从 MainWindow 对象获取字符串:

int main(int argc, char *argv[])
{
Application a(argc, argv);
MainWindow win;
win.show();
a.exec();
/* do what you want with win.my_string */
//...
}

关于c++ - 用qt为opencv程序构建一个gui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37455572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com