QPushButton设置添加一个下拉菜单,如何设置下拉菜单的位置以及下拉菜单的各种样式
时间: 2024-02-18 10:00:58 浏览: 151
要在QPushButton上添加一个下拉菜单,可以使用QMenu类来创建一个菜单对象,并将其添加到QPushButton上。具体的代码如下:
```
QPushButton *button = new QPushButton("下拉菜单", this);
QMenu *menu = new QMenu(this);
menu->addAction("菜单项1");
menu->addAction("菜单项2");
menu->addAction("菜单项3");
button->setMenu(menu);
```
要设置下拉菜单的位置,可以使用`QMenu::popup()`函数。该函数的参数指定了菜单应该出现的位置。例如,要将菜单放在按钮的下方,可以使用如下代码:
```
menu->popup(button->mapToGlobal(QPoint(0, button->height())));
```
要设置下拉菜单的样式,可以使用QSS(Qt样式表)。可以使用类似于CSS的语法来为菜单指定样式。具体的代码如下:
```
menu->setStyleSheet("QMenu {"
"background-color: white;"
"border: 1px solid black; }"
"QMenu::item {"
"background-color: transparent;"
"padding: 4px 24px;"
"margin: 2px 0px;"
"border: none;"
"color: black; }"
"QMenu::item:selected {"
"background-color: blue;"
"color: white; }");
```
在上面的代码中,我们为QMenu和QMenu::item指定了不同的样式。我们将QMenu的背景色设置为白色,边框设置为1像素的黑色实线。我们将QMenu::item的背景色设置为透明,添加了一些内边距和外边距,将边框设置为none,颜色设置为黑色。我们还为选中的项指定了不同的背景色和前景色。
阅读全文
相关推荐
















