我是Qt的新手。就目前而言,我有一个带有按钮btn
的桌子。单击该按钮时,setCentralWidget(view)
将占据窗口,因此我无法再看到该表。但是,如果我删除setCentralWidget(view)
,则单击按钮时不会显示任何内容。
有没有办法可以在同一个窗口中显示?拆分或停靠可能吗?
(我删除了与我的问题无关的代码)
MainWindow::MainWindow()
{
//etc
packet = new QTabWidget;
setCentralWidget(packet)
}
//other code
void MainWindow::create(const QString &a)
{
QTableWidget* table = new QTableWidget;
int tabIndex = packet->addTab(table, a);
packet->setCurrentIndex(tabIndex);
table->setRowCount(1);
table->setColumnCount(2);
table->setHorizontalHeaderLabels(QString("a;Simulator").split(";"));"));
table->setItem(0,0,new QTableWidgetItem(a));
QPushButton *btn = new QPushButton("load", this);
connect(btn, SIGNAL(clicked()), this, SLOT(sim()));
table->setCellWidget(0,1, btn);
}
void MainWindow::sim()
{
QGraphicsScene* scene = new QGraphicsScene(QRect(-10, -10, 100, 50));
QGraphicsView* view = new QGraphicsView();
scene->addText("Network");
view->setScene(scene);
view->setGeometry(QRect(10, 10, 100, 50));
setCentralWidget(view);
}
答案 0 :(得分:0)
你应该看看QMdiArea类 - 它被设计用作主窗口的中央窗口小部件,它可以有许多内部窗口小部件。它也有各种各样的布局样式 - 在该页面上向下滚动以查看示例。
希望有所帮助!
答案 1 :(得分:0)
你应该继承QWidget。例如,创建自己的MyWidget类。此类将在分割器中包含QGraphicsView和QTabWidget。在您的MainWindow中,将中央窗口小部件设置为MyWidget的实例。