- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何在样式表中访问并设置显示带有一堆 QToolButtons 的 QToolBar 时出现的“溢出按钮”的样式,因为并非所有按钮都适合窗口。
示例:
最佳答案
那个“按钮”是一个QToolBarExtension
,因此您可以使用该类名在 QSS 中选择它。
示例:
QToolBarExtension {
background-color: black;
}
结果如下:
在 QSS 中选择对象的另一个方法是通过其对象名称。因此 QToolBarExtension#qt_toolbar_ext_button
也可以工作。
由于 Qt 似乎没有提供一种根据扩展按钮的方向来设计扩展按钮样式的直接方法,因此我将尝试提供一种解决方法来解决您的问题。
继承QToolBar创建一个工具栏,当方向改变时更新扩展按钮名称。
mytoolbar.h
#ifndef MYTOOLBAR_H
#define MYTOOLBAR_H
#include <QToolBar>
class MyToolBar : public QToolBar
{
Q_OBJECT
public:
explicit MyToolBar(QWidget *parent = 0);
signals:
private slots:
void updateOrientation(Qt::Orientation orientation);
private:
QObject *extButton;
};
#endif // MYTOOLBAR_H
mytoolbar.cpp
#include "mytoolbar.h"
MyToolBar::MyToolBar(QWidget *parent) :
QToolBar(parent),
extButton(0)
{
// Obtain a pointer to the extension button
QObjectList l = children();
for (int i = 0; i < l.count(); i++) {
if (l.at(i)->objectName() == "qt_toolbar_ext_button") {
extButton = l.at(i);
break;
}
}
// Update extension nutton object name according to current orientation
updateOrientation(orientation());
// Connect orientationChanged signal to get the name updated every time orientation changes
connect (this, SIGNAL(orientationChanged(Qt::Orientation )),
this, SLOT(updateOrientation(Qt::Orientation)));
}
void MyToolBar::updateOrientation(Qt::Orientation orientation) {
if (extButton == 0)
return;
if (orientation == Qt::Horizontal)
extButton->setObjectName("qt_toolbar_ext_button_hor"); // Name of ext button when the toolbar is oriented horizontally.
else
extButton->setObjectName("qt_toolbar_ext_button_ver"); // Name of ext button when the toolbar is oriented vertically.
setStyleSheet(styleSheet()); // Update stylesheet
}
现在您可以这样设置按钮的样式:
QToolBarExtension#qt_toolbar_ext_button_hor {
background-color: black;
}
QToolBarExtension#qt_toolbar_ext_button_ver {
background-color: red;
}
其中,qt_toolbar_ext_button_hor
表示工具栏水平方向时的按钮,而 qt_toolbar_ext_button_ver
表示工具栏垂直方向时的按钮。
关于qt 如何设置 QToolBar > QToolButton 溢出按钮的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30715698/
当焦点出现在 QToolButton 上时,如何调整 QToolButton 的大小。我有 5 个 QToolButton,当焦点出现在第二个 QToolButton 上时,它的大小应该会自动增加。怎
我已将 QMenu 附加到 QToolButton,但菜单未正确反射(reflect)。 我正在通过读取 .txt 文件来填充我的 QMenu。菜单在第一次运行时显示正确的项目,但如果我在 .txt
我有一个 QToolButton。我想要文字和图标在上面。我通过 setToolButtonStyle(Qt::ToolButtonTextBesideIcon) 设置按钮样式。 但图标和文字彼此如此
我有一个 display.cpp 类,它有一个应该开始游戏的 QToolButton“开始”。我还有一个 singleton controller.cpp 类,它创建一个 display.cpp 对象
我有一个继承自 QWidget 的名为 Titlebar 的类。以下代码进入 Titlebar 类的构造函数: m_queueBtn = new QToolButton; m_serverToolBa
我试图做一个简单的设计来选择一种颜色,我正在使用 QToolButton 打开 QColorDialog。我的问题是我希望 QToolButton 具有选定的颜色,但我只成功设置了背景颜色,这不是我想
我正在尝试以编程方式使 QToolButton 在获得焦点时突出显示。我希望它像鼠标悬停选中时一样突出显示。这可能吗? 谢谢! 最佳答案 不确定您对样式表的熟悉程度,但这应该可以帮助您入门: QPus
如果我点击 QToolButton 按钮的箭头部分,会发出什么信号?单击的信号在我单击的任何地方发出,但我只需要在单击指定部分时检测。 最佳答案 你要做的就是拦截menu的aboutToShow信号,
当使用带有QToolButton的菜单时,菜单显示在按钮的正下方。有没有一种方法可以在按钮的左侧/右侧显示菜单? 最佳答案 该位置在[Qt安装目录]/src/gui/widgets/qtoolbutt
我正在使用多个 QToolButton s 自定义 QGridLayout小部件。这些按钮被设置为根据指定的默认 QAction 显示图标 + 文本。唯一的问题是内容(图标 + 文本)始终左对齐。 内
我想制作一个QToolButton,其中文本位于其图标的左侧。我尝试查找相关信息,并尝试了以下方法: button->setToolButtonStyle(Qt::ToolButtonTextBesi
我这里有两种不同的布局,一种是 QToolButton。我的目标是在单击该按钮时在两个布局之间转移该按钮。我认为这段代码可以工作, 片段: void DominionLinux::on_toolBut
我的代码片段如下所示: nextPageBtn = new QToolButton(); nextPageBtn->setSizePolicy(QSizePolicy::Expanding, QSiz
我想在QToolButton 中使用HTML 格式。例如在这张图片中,我应该在“Sara”和“Online”中创建QToolButton。 这是我的代码: viewControl=new QToolB
这是此 posting 的后续问题. 我正在尝试一种方法,在该方法中,我将 QToolButton 子类化并覆盖绘制事件,以便首先绘制一个红色矩形,然后在该矩形的顶部绘制文本。 我的代码大部分都在工作
我创建了一个简单的 10x10 黑框并将其添加到 QToolButton 中,如下所示: QIcon minIcon; minIcon.addFile("c:/tmp/black10x10.png")
我正在为 Mac OS X 开发 Qt 应用程序。问题是当我创建 QToolButton 时它会出现一些轮廓。 http://i.stack.imgur.com/vqtP9.png 我使用下一个样式表
我有一个 QToolButton,其中的文本使用 toolButton->setText(....)。但是,呈现按钮时文本会被截断。我尝试使用 resize() 和 setFixedSize 增加按钮
在 PyQt4 中,我有一个主窗口,单击设置按钮时将打开设置对话框 from PyQt4 import QtCore, QtGui import ui_Design, ui_Settings_Desi
我用我的 qt 设计器创建了一个 ToolButton,我试图将它连接到一个插槽。这是我写的 connect(ui->toolButton_addfiles, SIGNAL(triggered()),
我是一名优秀的程序员,十分优秀!