0
問題:如果我將應用程序的工具欄拉離窗口框架並將其浮動,我無法再對接它。我的窗口層次結構相當複雜,所以我不確定哪一部分我不得不用棍子戳到它的行爲。Qt工具欄不會重新編譯
我的Qt應用程序使用stackWidget作爲它的中心控件。在其中一個包含小部件的堆棧中,我需要一個工具欄和一個圖形視圖。當我浮動該工具欄時,圖形視圖展開消耗整個屏幕空間並拒絕縮小以允許工具欄再次停靠。
相關代碼如下。我堅持其在自己的項目,看看發生了什麼事情,所以減去在頭幾個額外的定義,這應該編譯:
QVBoxLayout* layout0 = new QVBoxLayout(ui->centralWidget);
stack = new QStackedWidget();
layout0->addWidget(stack);
QWidget* screen1 = new QWidget();
QVBoxLayout* layout1 = new QVBoxLayout(screen1);
QToolButton* tool = new QToolButton();
tool->setIcon(QIcon(":/images/sample.bmp"));
tool->setIconSize(QSize(400,400));
QObject::connect(tool,SIGNAL(clicked()),this,SLOT(onPage2()));
layout1->addWidget(tool);
stack->addWidget(screen1);
QWidget* screen2 = new QWidget();
QVBoxLayout* layout2 = new QVBoxLayout(screen2);
QGraphicsView* gview = new QGraphicsView();
layout2->addWidget(gview);
stack->addWidget(screen2);
QToolBar* toolbar = new QToolBar();
toolbar->addAction("home",this,SLOT(onPage1()));
this->addToolBar(Qt::TopToolBarArea,toolbar);
在鍵入這個過程中,我發現設置工具按鈕的最小尺寸似乎可以解決問題。 – AndrewS 2012-02-06 19:31:51