-1
或者只是文本。可能吗?如何在不使用paintEvent的情况下旋转PyQt5 QPushButton?
我发现paintEvent的实现How to rotate a QPushButton?,但在我看来它不是'pythonic'。
或者只是文本。可能吗?如何在不使用paintEvent的情况下旋转PyQt5 QPushButton?
我发现paintEvent的实现How to rotate a QPushButton?,但在我看来它不是'pythonic'。
我不确定你可以,但可以通过在按钮上使用遮罩并用位图模拟前景来模拟效果。例如:
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_()
这是一个快速的例子,我不知道我是否可以使用严格使用相同的位图作为前景和面膜(其实我不知道关于面膜的规则)但它应该工作。使用下面的图片作为测试。
,并为蒙以下。
看到这里也许:https://forum.qt.io/topic/9279/moved-how-to-rotate-qpushbutton-63/10 –