栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何旋转QPushButton?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何旋转QPushButton?

根据您的代码:

#!/usr/bin/env pythonfrom PyQt4 import QtGui, QtCoreimport sysclass RotatedButton(QtGui.QPushButton):    def __init__(self, text, parent, orientation = "west"):        super(RotatedButton,self).__init__(text, parent)        self.orientation = orientation    def paintEvent(self, event):        painter = QtGui.QStylePainter(self)        painter.rotate(90)        painter.translate(0, -1 * self.width());        painter.drawControl(QtGui.QStyle.CE_PushButton, self.getSyleOptions())    def minimumSizeHint(self):        size = super(RotatedButton, self).minimumSizeHint()        size.transpose()        return size    def sizeHint(self):        size = super(RotatedButton, self).sizeHint()        size.transpose()        return size    def getSyleOptions(self):        options = QtGui.QStyleOptionButton()        options.initFrom(self)        size = options.rect.size()        size.transpose()        options.rect.setSize(size)        options.features = QtGui.QStyleOptionButton.None        if self.isFlat(): options.features |= QtGui.QStyleOptionButton.Flat        if self.menu(): options.features |= QtGui.QStyleOptionButton.HasMenu        if self.autoDefault() or self.isDefault(): options.features |= QtGui.QStyleOptionButton.AutoDefaultButton        if self.isDefault(): options.features |= QtGui.QStyleOptionButton.DefaultButton        if self.isDown() or (self.menu() and self.menu().isVisible()): options.state |= QtGui.QStyle.State_Sunken        if self.isChecked(): options.state |= QtGui.QStyle.State_On        if not self.isFlat() and not self.isDown(): options.state |= QtGui.QStyle.State_Raised        options.text = self.text()        options.icon = self.icon()        options.iconSize = self.iconSize()        return optionsclass Main(QtGui.Qframe):    def __init__(self):        QtGui.Qframe.__init__(self)        self.application = QtCore.QCoreApplication.instance()        self.layout = QtGui.QHBoxLayout()        self.button = RotatedButton("Hello", self, orientation="west")        self.layout.addWidget(self.button)        self.setLayout(self.layout)if __name__ == '__main__':    application = QtGui.QApplication(sys.argv)    application.main = Main()    application.main.show()    sys.exit(application.exec_())


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402159.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号