【问题标题】:Qt - approach to coding GUIQt - 编码 GUI 的方法
【发布时间】:2013-01-26 08:24:22
【问题描述】:

我有一个使用 Qt Creator 制作的 Qt 程序。我制作了一个 .ui 对话框(mainwindow.ui),并在 ui 编辑器中添加了控件和插槽。这些最终会在 mainwindow.cpp 中创建方法,例如。

void MainWindow::on_btnRunJohn_clicked()

在这些方法中,我直接访问控件来更新它们,例如。

ui->txtConfigFileName->setText("Some text to put in the text box");

我知道在 Qt 中有多种管理窗口对话框的方法(例如 QML、子类化),但我想知道这种方法是否次优,或者以某种方式限制了某些事情。这是在 Qt 中编码的合理方式,还是有更好的方法来管理对话框?我很高兴预先定义控件,即。我不需要在运行时添加/删除控件。

【问题讨论】:

  • 当然是合理的......
  • 感谢 CapelliC - 我只是没有直接在一些示例中看到该方法,并想知道它是否有问题。将保持原样编码...

标签: qt dialog window


【解决方案1】:

其实如果你想改变 Ui 的行为,这是你必须走的路。

我建议你可以使用多重继承,就像这样:

class A : public QDialog, public Ui::A
{
    // class methods and members
}

这将帮助您轻松使用 Ui 小部件。

【讨论】:

  • 顺便说一下,Qt Creator 中的 TextFinder 示例对这种方法进行了简单的演示。它是 QWidget 的子类,并包含一个附加到更新 ui 的按钮的插槽。
猜你喜欢
  • 2010-09-28
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多