Как настроить заполнение QToolButton на боковой панели (QDockWidget) в Qt? - PullRequest
0 голосов
/ 10 мая 2018

Я написал минимальный пример с боковой панелью, содержащей QToolButton. Я установил setAutoRaise(true) для QToolButton, поэтому при наведении на него кнопка будет подниматься. Но в настоящее время у меня есть небольшая проблема. Как видно из рисунка ниже, при наведении на кнопку границы справа и слева не полностью занимают весь экран.
Вот как это выглядит:
enter image description here

И этот пример того, что я хочу, чтобы кнопка выглядела так:
enter image description here

А вот и мой код:

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 правую и левую границу полностью в сторону? Или есть несколько лучших способов добиться этого? Спасибо.

1 Ответ

0 голосов
/ 10 мая 2018

Теперь я решил эту проблему.
Просто нужно добавить одну строку во фрагмент кода, чтобы установить для поля макета значение 0, используя: dockVLayout->setMargin(0)

...