Или просто текст в нем. Является ли это возможным?Как повернуть PyQt5 QPushButton без использования paintEvent?
Я нашел реализацию с paintEvent How to rotate a QPushButton?, но это не очень «pythonic», на мой взгляд.
Или просто текст в нем. Является ли это возможным?Как повернуть PyQt5 QPushButton без использования paintEvent?
Я нашел реализацию с 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 –