qtoolbutton样式表
时间: 2025-01-01 22:17:57 浏览: 11
### 自定义 QToolButton 外观
为了自定义 `QToolButton` 的外观,可以利用 Qt 样式表 (stylesheet) 来实现。样式表允许通过 CSS 类似的语法来修改控件的视觉属性。
#### 基本样式设置
下面是一个简单的例子展示如何改变按钮背景颜色、边框以及字体大小:
```css
QToolButton {
background-color: lightgray;
border-style: outset;
border-width: 2px;
border-radius: 10px;
border-color: beige;
padding: 5px;
font-size: 14pt;
}
```
此段代码会应用到所有的 `QToolButton` 实例上[^1]。
#### 设置不同状态下的样式
还可以针对不同的鼠标交互事件定制特定的状态样式,比如按下时的效果或是悬停效果:
```css
QToolButton:hover {
background-color: darkgray;
}
QToolButton:pressed {
background-color: gray;
border-style: inset;
}
```
这些规则会在用户将光标移到按钮上方或点击按钮时生效。
#### 使用图标和文本混合显示
当希望同时显示图标与文字时,可以通过如下方式调整布局方向及间距:
```css
QToolButton {
icon-size: 20px;
tool-button-style: ToolButtonTextBesideIcon; /* 文字位于图标的旁边 */
spacing: 5px; /* 图标与文字之间的距离 */
}
```
这使得工具按钮不仅限于仅含图标或仅有标签,而是两者兼备并合理排列[^2]。
#### 应用样式表至单个组件
要为单独的一个 `QToolButton` 添加上述样式,可以在创建对象之后调用其 `setStyleSheet()` 方法传入相应的字符串形式的样式声明;如果是整个应用程序范围内统一风格,则可在主窗口初始化阶段全局设定。
```cpp
// C++ 示例
toolButton->setStyleSheet("QToolButton { ... }");
```
或者,在 Python 中:
```python
# PyQt 或 PySide 示例
tool_button.setStyleSheet("""
QToolButton {
...
}
""")
```
阅读全文