2016-03-15 129 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

相關問題