我將描述我的問題。Qt QGraphicsView:在選項卡內顯示QGraphicsView
我有一個標籤類,它看起來大約是這樣的:
class Tab : public QWidget
{
public:
Tab();
...
private:
...
QGraphicsView *view;
...
};
在Tab()
我創建view
。現在在我的主窗口中,我想要一個QTabWidget
,其中包含一些選項卡,其中每個選項卡顯示一個QGraphicsView
。它看起來大約是這樣的:
class MainWindow : QMainWindow
{
public:
MainWindow();
...
private:
...
QTabWidget *tabWidget;
...
};
和
MainWindow::MainWindow()
{
tabWidget = new QTabWidget(this);
tabWidget->addTab(new Tab, tr("tab 1"));
tabWidget->addTab(new Tab, tr("tab 2"));
setCentralWidget(tabWidget);
}
在此選項卡不顯示QGraphicsView
秒。爲了使QGraphicsView
有形之,我會寫這樣的事:
MainWindow::MainWindow()
{
tabWidget = new QTabWidget(this);
tab1 = new Tab;
tab2 = new Tab;
tabWidget->addTab(tab1->view, tr("tab 1"));
tabWidget->addTab(tab2->view, tr("tab 2"));
setCentralWidget(tabWidget);
}
和view
將在類Tab
,這真的看起來不好是公開的。類Tab
有一些私人功能,這些功能用於構建view
,我不希望view
在Tab
中公開。
如何解決這個問題?
我想創建一個類,它繼承自QGraphicsView
並添加了我自己的函數,但我不太確定如何做到這一點,以便它適用於我。
謝謝你的回答和評論。
是的!佈局工作的東西。我只是不明白這是如何工作的。你能給我一個鏈接到一些文字,我可以讀到這個嗎?謝謝。 – pizet
首先:http://qt-project.org/doc/qt-4.8/layout.html –