2016-03-15 3 views

ответ

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_() 

Это был быстрым пример, и я не уверен, если я могу использовать использовать тот же точечный рисунок строго и как передний план и маски (на самом деле я не уверен, о правилах маски) но он должен работать. В качестве теста используйте следующее изображение.

Rotated Pixmap for a button

и следующее в качестве маски.

enter image description here