或者只是文字。可能吗?
我发现了paintEvent How to rotate a QPushButton?的实现,但在我看来它并不是非常“pythonic”。
答案 0 :(得分:1)
我不确定你能不能,但可以通过在按钮上使用遮罩并使用位图模拟前景来模拟效果。例如:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class MyFrame(QtWidgets.QFrame):
def __init__(self, parent=None,initials=None):
QtWidgets.QFrame.__init__(self, parent)
self.btn = QtWidgets.QPushButton(self)
self.btn.setIcon(QtGui.QIcon('rotatedBitmap.png'))
self.btn.setMask(QtGui.QBitmap('rotatedBitmapMask.png'))
self.btn.setIconSize(QtCore.QSize(156,166))
self.btn.move(30,30)
self.btn.resize(156,166)
self.btn.clicked.connect(self.printthis)
def printthis(self):
print('this')
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
Frame = MyFrame(None)
Frame.resize(720,600)
Frame.show()
app.exec_()
这是一个快速的例子,我不确定我是否可以严格使用相同的位图作为前景和掩码(实际上我不确定掩码的规则)但它应该工作。使用以下图像作为测试。
以及以下作为面具。