如何使用Qt4制作具有丰富文本格式的平面按钮?

时间:2012-08-02 12:00:59

标签: python qt4 pyqt4 richtext qpushbutton

我想创建显示丰富文本和图像的平面按钮。 例如,按钮应该能够显示:

|¯¯¯¯¯¯| 按钮标题 ¯¯¯¯|
| ICON | 按钮说明 |
|_____̣̣_|___________________|

我一直在玩Qt4,我找不到一个简单的方法来制作这样一个按钮。添加QLabel作为QPushButton的子项不能正常工作(文本未正确对齐,按钮不符合标签内容的大小)。

有没有办法生成一个简单的平面按钮,可以处理丰富的文本和图像作为其内容?我可以从QLabel创建一个按钮吗?

1 个答案:

答案 0 :(得分:3)

如果查看documentation,您会发现QPushButton不接受子窗口小部件。

所以你必须编写自己的小部件。 QLabel是一个好的开始。为它提供与QButton相同的边框和颜色(flat的{​​{1}}属性文档应该有帮助。)

您需要实施QPushButton并添加必要的按钮位置。一个好主意可能是查看mousePressEvent的源代码,看看它是如何实现的。