【问题标题】:How to access elements from UI in Qt indirectly?如何在 Qt 中间接访问 UI 中的元素?
【发布时间】:2016-09-01 07:01:20
【问题描述】:

我在 Qt 中创建了 3 个类:MainControllerViewControllerMainWindow

MainWindow 包含允许 ViewController 更新 UI 的 getter。 MainController 只能在 ViewController 的帮助下访问 UI 元素。为了将ViewController 中的信号连接到MainController 中的插槽,我需要从MainController 访问MainWindow 中的UI 元素。我该怎么做?

MainController:

connect(m_viewController->mainWindow_getStartListeningPushButton(), &QPushButton::clicked, this, &MainController::startOnlineMode);   

ViewController:

QPushButton* ViewController::startDialog_getStartListeningPushButton()
{
    return m_mainWindow->getStartListeningPushButton();
}

MainWindow:

QPushButton* MainWindow::getStartListeningPushButton()
{
    return ui.startListeningPushButton;
}

当我尝试构建它时,我得到了错误。我认为这与指针有关,但我不知道如何解决这个问题......

【问题讨论】:

  • “当我尝试构建这个时,我得到了错误。”,请始终在问题中包含错误,并指出它们发生在哪些行(因为编辑器行号在问题中没有任何意义)。
  • @hyde 你必须再等 2 秒 :)
  • 请复制并粘贴错误文本,而不是屏幕截图
  • 您的问题在于您没有向我们展示的代码。
  • 您发布的代码看起来不错。

标签: c++ qt


【解决方案1】:

我发布的代码没有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2021-11-21
    • 2021-11-08
    • 2020-08-23
    • 2018-04-01
    • 2012-04-18
    • 1970-01-01
    相关资源
    最近更新 更多