`
scm002
  • 浏览: 309350 次
社区版块
存档分类
最新评论

PyQt4 Style

 
阅读更多

#!/usr/bin/python

from PyQt4 import QtCore, QtGui

class WidgetGallery(QtGui.QDialog):   
 def __init__(self,parent=None):       
  super(WidgetGallery,self).__init__(parent)
  
  self.palette = QtGui.QApplication.palette()
  
  combo_box = QtGui.QComboBox()       
  combo_box.addItems(QtGui.QStyleFactory.keys())   
  
  label = QtGui.QLabel('style')       
  label.setBuddy(combo_box)      
  
  check_box_one = QtGui.QCheckBox('use')       
  check_box_one.setChecked(True)       
       
  check_box_two = QtGui.QCheckBox('disable') 
  
  self.createTopLeftGroupBox()      
  self.createTopRightGroupBox()       
  self.createBottomLeftTabWidget()      
  self.createBottomRightGroupBox()      
  self.createProgressBar()       
  
  combo_box.activated[str].connect(self.changeStyle)       
  check_box_one.toggled.connect(self.changePalette)       
  check_box_two.toggled.connect(self.topLeftGroupBox.setDisabled)       
  check_box_two.toggled.connect(self.topRightGroupBox.setDisabled)       
  check_box_two.toggled.connect(self.bottomLeftTabWidget.setDisabled)       
  check_box_two.toggled.connect(self.bottomRightGroupBox.setDisabled)       
  
  layout_x = QtGui.QHBoxLayout()       
  layout_x.addWidget(label)       
  layout_x.addWidget(combo_box)       
  layout_x.addStretch(1)       
  layout_x.addWidget(check_box_one)       
  layout_x.addWidget(check_box_two)       
  mainLayout = QtGui.QGridLayout()       
  mainLayout.addLayout(layout_x, 0, 0, 1, 2)       
  mainLayout.addWidget(self.topLeftGroupBox, 1, 0)       
  mainLayout.addWidget(self.topRightGroupBox, 1, 1)       
  mainLayout.addWidget(self.bottomLeftTabWidget, 2, 0)       
  mainLayout.addWidget(self.bottomRightGroupBox, 2, 1)       
  mainLayout.addWidget(self.progress_bar, 3, 0, 1, 2)       
  mainLayout.setRowStretch(1, 1)       
  mainLayout.setRowStretch(2, 1)       
  mainLayout.setColumnStretch(0, 1)       
  mainLayout.setColumnStretch(1, 1)               
  
  self.setLayout(mainLayout)       
  self.setWindowTitle('style')        #self.resize(100,100)   
  
 def changeStyle(self,styleName):       
  QtGui.QApplication.setStyle(QtGui.QStyleFactory.create(styleName))       
  self.changePalette()           
  
 def changePalette(self):       
  if (check_box_one.isChecked()):           
   QtGui.QApplication.setPalette(QtGui.QApplication.style().standardPalette())       
  else:           
   QtGui.QApplication.setPalette(self.originalPalette)               
   
 def advanceProgressBar(self):       
  curval = self.progress_bar.value()       
  maxval = self.progress_bar.maximum()       
  self.progress_bar.setValue(curval+(maxval-curval)/100)                               
  
 def createTopLeftGroupBox(self):       
  self.topLeftGroupBox = QtGui.QGroupBox('group_one') 
  
  button1 = QtGui.QRadioButton('radio_button_a')       
  button2 = QtGui.QRadioButton('radio_button_a')       
  button3 = QtGui.QRadioButton('radio_button_a')       
  button1.setChecked(True)       
  
  layout = QtGui.QVBoxLayout()       
  layout.addWidget(button1)       
  layout.addWidget(button2)       
  layout.addWidget(button3)       
  
  self.topLeftGroupBox.setLayout(layout)           
  
 def createTopRightGroupBox(self):       
  self.topRightGroupBox = QtGui.QGroupBox('group_two')   
  
 def createBottomLeftTabWidget(self):       
  self.bottomLeftTabWidget = QtGui.QTabWidget()       
  tab1 = QtGui.QWidget()       
  table1 = QtGui.QTableWidget(5,5)       
  
  tab1_layout = QtGui.QHBoxLayout()       
  tab1_layout.setMargin(5)       
  tab1_layout.addWidget(table1)       
  tab1.setLayout(tab1_layout)       
  tab2 = QtGui.QWidget()       
  table2 = QtGui.QTextEdit()       
  
  table2.setPlainText('hello world')       
  tab2_layout = QtGui.QHBoxLayout()       
  tab2_layout.setMargin(5)       
  tab2_layout.addWidget(table2)       
  tab2.setLayout(tab2_layout)       
  
  self.bottomLeftTabWidget.addTab(tab1,'table widget')       
  self.bottomLeftTabWidget.addTab(tab2,'text widget')           
  
 def createBottomRightGroupBox(self):       
  self.bottomRightGroupBox = QtGui.QGroupBox('group_three')   
  
 def createProgressBar(self):       
  self.progress_bar = QtGui.QProgressBar()       
  self.progress_bar.setRange(0,10000)       
  self.progress_bar.setValue(0)       
  
  timer = QtCore.QTimer(self)       
  timer.timeout.connect(self.advanceProgressBar)       
  timer.start(1000)       
  
if __name__ == '__main__':   
 import sys   
 app = QtGui.QApplication(sys.argv)   
 gallery = WidgetGallery()   
 gallery.show()   
 sys.exit(app.exec_())

 

http://www.cnblogs.com/eth0/archive/2011/07/10/2102266.html

http://home.cnblogs.com/u/eth0/feed/blog/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics