gpt4 book ai didi

c++ - QFileDialog 打开第二个(可能是父级)不需要的窗口

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

这个问题可能是由于没有正确定义父控件。在 QT 手册或在线示例中,传递给 QFileDialog::getOpenFileName(或类似函数)的第一个参数通常是“this”。在我的例子中,如果我用“this”调用以下函数,它将打开对话框和另一个不包含任何内容且标题与可执行文件名称相同的窗口。我试图摆脱第二个不需要的窗口但没有成功。我用“gui::parentWidget()”或“0”替换了“this”,仍然是同样的问题。另外,如果我没记错的话,在将 QT 更新到 5.0.2 版之前我没有遇到过这个问题。任何帮助将不胜感激。

void gui::on_coordinatesBrowse_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this,"Open File");
//.....
}

我有:

gui::gui(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::gui)
{
ui->setupUi(this);
//.....
}

int main(int argc, char *argv[]) 
{
QApplication a(argc, argv);
gui mainW;
mainW.show();
return a.exec();
}

最佳答案

我以为我在 Linux 上的 Qt5.4.0 x64 上也遇到过这种情况。

我使用 QtCreator 创建了一个类似的情况,并在小部件编辑模式 (F3) 中使用“转到插槽...”上下文菜单,它自动为我创建了一个插槽。

然后我重命名了按钮并重命名了功能,并在 .ui 文件中使用了插槽编辑模式 (F3)。因为只显示通过插槽编辑模式的连接,我以为我已经准备好了。但是旧的连接仍然存在,导致两个信号......

关于c++ - QFileDialog 打开第二个(可能是父级)不需要的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20557285/

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