我的应用程序的主要部分是Systray菜单。对于维护,应该有一个正常的GUI。
我的问题是,现在我必须从每个选项卡创建两个返回主窗口的信号/插槽连接。这是为了最小化GUI并更新菜单。我不知道该怎么做。
我试着与联系
this->parent->parent
从管理会话和
ui_manag->session_ui->minimizeButton
从主窗口。我脑子里有个小疙瘩,正在寻求帮助。还是我应该重新考虑我的设计?我只使用Qt呼吸机2.6.1和Qt 4.8.4。
Screenshots of the GUI-Elements
这是mainwindows.cpp:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
setWindowTitle(QCoreApplication::applicationName());
QWidget *mainWidget = new QWidget;
QTabWidget *ui_manag = new ManageTab;
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(ui_manag);
mainWidget->setLayout(mainLayout);
setCentralWidget(ui_manag);
ui_manag->setCurrentIndex(0);
//Here comming Code to setup a TrayIcon, the Database and the Menus
}
选项卡完全由设计器生成:
ManageTab::ManageTab(QWidget *parent) :
QTabWidget(parent),
tab_ui(new Ui::ManageTab)
{
tab_ui->setupUi(this);
}
对于每个设置,我使用具有多重继承的相同GUI:
ManageSession::ManageSession(QWidget *parent) :
QWidget(parent),
session_ui(new Ui::ManageWidget)
{
session_ui->setupUi(this);
session_ui->manageLabel->setText(tr("Manage Session"));
connect(session_ui->addButton, SIGNAL(clicked()), this, SLOT(addButton_clicked()));
connect(session_ui->editButton, SIGNAL(clicked()), this, SLOT(editButton_clicked()));
connect(session_ui->deleteButton, SIGNAL(clicked()), this, SLOT(deleteButton_clicked()));
}
//Here follows the Functions for manipulating the TableView
// and emmiting a Signal to Update the Menu