簡體   English   中英

如何在Qt的側欄(QDockWidget)中設置QToolButton填充?

[英]How to set QToolButton fill in the side bar(QDockWidget) in Qt?

我寫了一個最小的示例,它的側邊欄包含一個QToolButton 我為QToolButton設置了setAutoRaise(true) ,因此當將鼠標懸停在它上面時,按鈕將升高。 但目前我有一個小問題。 從下圖可以看到,將鼠標懸停在按鈕上時,左右邊框沒有完全占據整個屏幕。
看起來是這樣的:
在此處輸入圖片說明

這個示例我想要按下按鈕的樣子:
在此處輸入圖片說明

這是我的代碼:

sidebarDock = new QDockWidget(this);
addDockWidget(Qt::LeftDockWidgetArea, sidebarDock);

//hide dock widget title bar
QWidget *titleBarWidget = new QWidget(sidebarDock);
sidebarDock->setTitleBarWidget(titleBarWidget);
sidebarDock->titleBarWidget()->hide();

dockWidget = new QWidget(sidebarDock);
dockWidget->setObjectName("DockWidget");
dockWidget->setStyleSheet("#DockWidget { background-color: #F7DC6F; }");
dockVLayout = new QVBoxLayout(dockWidget);
overviewBtn = new QToolButton(dockWidget);
overviewBtn->setAutoRaise(true);
overviewBtn->setIcon(QIcon(":/Icons/overview.png"));
overviewBtn->setText("Overview");
overviewBtn->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
dockVLayout->addWidget(overviewBtn);
dockWidget->setLayout(dockVLayout);
sidebarDock->setWidget(dockWidget);

那么有人可以告訴我我錯過了哪一部分將QQToolButton左右邊框完全設置為一側嗎? 還是有一些更好的方法來實現這一目標? 謝謝。

現在我解決了這個問題。
只需在代碼片段中添加一行,即可使用以下dockVLayout->setMargin(0)將布局的邊距設置為0: dockVLayout->setMargin(0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM