【问题标题】:How do I implement a Browse button functionality through Qt如何通过 Qt 实现浏览按钮功能
【发布时间】:2020-04-24 02:41:36
【问题描述】:

我尽可能多地使用 Qt Designer 并了解 Slots-Signals 和 Widget 界面,而无需跳入 UI 相关代码。

我正在使用带有 Qt 插件的 Visual Studio 2013 来创建应用程序。在我用于“做”其他事情的实际应用程序(在 C++ 中)中,我假设一个需要指向 2 个文件的路径的函数。到目前为止,我已经手动对其进行了硬编码,例如:

String s1("The path");

我想添加一个 GUI,以便 能够单击浏览按钮并找到文件并将其位置检索到我的应用程序函数中的 s1String。

为了这个简单的目标,我需要一个简单的窗口,其中包含两个文件的浏览按钮,如果可能的话,还需要一个显示加载资源(如果是图像)的区域,尽管不是绝对必要。

这就是为什么我使用 Qt 来实现这样的目标。我已经能够进行基本设计和时隙信号自定义调用。但我不知道如何进一步使用我的浏览按钮目标。

是否有任何预先构建的功能/代码/设施可以通过快捷方式实现它,或者可能有在 Qt 中实际实现它的想法(我完全赞成)?

【问题讨论】:

  • 所以您需要一个文件对话框,但您没有考虑在文档中搜索“文件对话框”(doc.qt.io/qt-5/search-results.html?q=file%20dialog)?下次请展示一些研究成果。
  • @cmannett85 :我一般不是 GUI 设计师,以前从未从事过它。所以,术语“文件对话框”(当我这样说的时候相信我)对我来说真的不熟悉。我发誓。
  • Qt 助手有一个搜索栏(我觉得比新的在线文档更有用)。 “浏览按钮”的第二个结果是Find Files Example
  • @Leiaz :这是一个非常有用的评论。 TY(+1)

标签: c++ qt button


【解决方案1】:

这可以通过QFileDialog::getOpenFileName 轻松完成。在连接到“浏览”按钮的插槽中,执行以下操作:

QString s1 =
    QFileDialog::getOpenFileName(this, "Open a file", "directoryToOpen",
        "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)");

仔细阅读文档,一切都在那里。您可能还想查看QFileDialog 的其他静态函数,例如您将来可能需要的QFileDialog::getSaveFileName

【讨论】:

  • 我再说一遍,谢谢您的回答和建议。
  • @pulp_fiction 最好检查答案是否正确 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
  • 1970-01-01
  • 2021-04-13
  • 1970-01-01
  • 2020-12-08
相关资源
最近更新 更多