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

相关问题