gpt4 book ai didi

c++ - 窗口QTCreator的创建、处理和切换

转载 作者:行者123 更新时间:2023-11-28 05:40:01 24 4
gpt4 key购买 nike

我对这个问题的研究表明我有点想入非非,但我似乎无法得到结论性的答案。

我正在使用 QT Creator 创建一个 GUI,这将有助于与单位寄存器(简单对象,带有一些 ID 等)进行交互。

我有一个主菜单,其中包含 5 个按钮和一个表格。 Pictured here .我的项目目前包括 these files ,我的主要目前看起来像这样:

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
UnitRegister e;
CommInterface c;
w.setRegistryPtr(e);
w.setCommPtr(c);
w.setTablePtr(w.findChild<QTableWidget*>("unitTable"));

w.show();

return a.exec();
}

我想做的是按下左侧四个按钮之一,然后使用它切换到主窗口中的不同 View 。

为此,我考虑使用 QStackedWidget,然后为每个菜单按钮创建一个页面。我的问题是:

  • 我如何/我应该创建一个单独的 QT 项目表单类(标题,.cpp和 .ui 文件)为每个页面
  • 如何在使用 QT Designer 添加的页面之间切换.
  • 如何确保不同的页面可以访问在我的主文件中创建的 UnitRegister。

我不一定要寻找完整的答案,而是要让我继续前进的东西。

最佳答案

切换页面:考虑一个QButtonGroup给你的按钮 id,你可以映射到你的 QStackedWidget 的索引。然后你可以这样做:

connect(buttonGroup, SIGNAL(buttonClicked(int)), stackedWidget, SLOT(setCurrentIndex(int)));

组织页面:为小部件堆栈中的每个页面创建一个 .ui 文件和相应的容器小部件。这比一个庞大的 .ui 文件要容易得多。

访问 UnitRegister:有很多方法可以做到这一点。向您的类添加 setter 函数是一种方法。

关于c++ - 窗口QTCreator的创建、处理和切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37328918/

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