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

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/

分享到:
评论

相关推荐

    pyqt-stylesheets:PyQt5样式表作为子模块

    pyqt样式表 安装 python setup.py build python setup.py install 或者 python setup.py sdist ...创建PyQt的资源文件style.qrc含style.qss和其他文件,如图标的PNG 创建pyqt资源文件style.qss 资源python

    PyQt计算器源码

    7. **样式表(Style Sheets)**:PyQt4支持使用CSS样式的QSS(Qt Style Sheets)来定制界面样式。源码可能包含部分QSS代码,用于改变按钮的颜色、字体等外观属性。 8. **模块导入(Module Import)**:Python的`sys...

    PyQt4编程简介1

    PyQt4是Python编程中用于开发图形用户界面(GUI)的应用框架,它是Qt库的Python绑定。这个框架允许开发者利用Qt Designer工具来设计GUI界面,然后通过Python代码实现界面的功能。 在PyQt4编程中,首先需要了解的...

    PyQt5-QSS.zip

    QSS(Qt Style Sheets)是Qt库中的一种样式表语言,类似于Web开发中的CSS,用于定义和控制Qt应用程序的外观和感觉。 在PyQt5中,QSS用于实现UI界面的美化,它可以让你轻松地改变控件的颜色、字体、形状、大小以及...

    PyQt5入门教程

    4. **事件处理**:PyQt5使用事件驱动模型,事件包括用户交互(如点击按钮)、系统事件(如窗口大小改变)等,开发者可以自定义事件处理器来响应这些事件。 **PyQt5的主要模块** 1. **qtWidgets**:包含各种GUI组件...

    PyQt5快速开发与实践

    4. **样式表支持**:类似于CSS的QSS(Qt Style Sheets)可以让开发者方便地定制界面样式。 5. **多线程支持**:PyQt5内置了多线程支持,使得开发者能够轻松编写高性能的应用程序。 #### 三、PyQt5安装与环境配置 1...

    StyleSheets_for_PyQt5_Designer_

    StyleSheets_for_PyQt5_Designer_Templates_CSS_,_QSS_StyleSheets-for-PyQt5

    Pyqt5 QTableWidget/QTableView 行表头添加复选框全选功能

    在PyQt5中,`QTableWidget`和`QTableView`是用于展示表格数据的两种控件。它们都提供了丰富的功能,包括自定义列、行操作以及数据交互。本篇文章将详细探讨如何在`QTableWidget`或`QTableView`的表头中添加复选框,...

    pyqt 常用控件qss设置

    在PyQt中,QSS(Qt Style Sheets)是一种强大的样式表语言,用于定制GUI应用程序的外观和感觉。它类似于HTML中的CSS,使开发者能够轻松地改变控件的颜色、字体、布局和其他视觉属性。本教程主要关注PyQt中常用控件的...

    PyQt5图像和特效(素材与源码)

    QSS(Qt Style Sheets)是PyQt5中实现这些效果的重要工具,它类似于网页设计中的CSS,允许开发者通过样式表来定制GUI(图形用户界面)的外观和感觉。本资源包含PyQt5图像和特效的素材及源码,旨在帮助开发者深入理解...

    PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1-x32

    在PyQt5中,界面设计通常使用QSS(Qt Style Sheets)进行美化,这类似于CSS,可以用来改变应用的视觉样式,包括颜色、字体、边距等。通过QSS,开发者可以轻松实现应用程序的个性化外观,使其更加吸引用户。 安装...

    pyqt5笔记、例子源码,有笔记总结

    11. **样式表**:PyQT5支持使用CSS样式的`QSS`(Qt Style Sheets),可以自定义窗口和小部件的外观。 12. **多线程**:为了防止UI冻结,可以使用`QThread`进行异步处理,确保用户界面的响应性。 13. **模块和类**...

    pyqt qss实现的360界面

    在PyQt框架中,QSS(Qt Style Sheets)是一种强大的工具,用于实现应用程序的界面美化,类似于网页设计中的CSS。QSS允许开发者通过简单的文本格式定义控件的外观和布局,实现高度定制化的用户界面。本项目“pyqt QSS...

    PyQt6窗口添加菜单栏 工具栏和任务栏 包含应用美观样式

    # PyQt6窗口添加菜单栏 工具栏和任务栏 包含应用美观样式 代码写有中文注释,方便学习。 运行 `main.py` 查看应用菜单栏、工具栏和任务栏的普通窗口; 运行 `main_vscode_style.py` 查看应用菜单栏、工具栏和任务...

    Python GUI库PyQt5图形和特效样式QSS介绍

    在PyQt5中,QSS(Qt Style Sheets)是用于定制控件外观的关键技术,它借鉴了Web开发中的CSS(Cascading Style Sheets)概念。QSS使得界面设计与业务逻辑相分离,有助于提升代码的可读性和维护性。 **QSS语法** QSS...

    PyQt4 精彩实例分析26个例子

    pyqt4精彩实例讲解,适合pyqt4初级学习者,经供参考第6行创建了一个 QPush Button对象,并设置它的显示文木为“ Hello Kitty!",由于此处并 没有指定按钮的父窗体,因此以自己作为主窗凵 第7行调用show()方法,显示...

    pyqt5 qss python3实现的360界面

    在本项目中,开发者利用PyQt5库,结合QSS(Qt StyleSheet)和Python3,成功地构建了一个具有360界面风格的应用程序。PyQt5是Python版本的Qt库,它提供了丰富的GUI(图形用户界面)编程工具,使得开发者能够创建出...

    pyqt5英文教程

    - **设置边框样式**:使用 `self.setFrameStyle(style)` 设置边框样式。 - **设置阴影效果**:使用 `self.setShadow(shadow)` 设置阴影效果。 ##### 17.3 示例 示例展示了如何创建具有不同样式的框架,以及如何将...

    pyqt关闭程序实例

    简单易懂级的pyqt界面初步开发程序资源,非常有助于了解button信号与槽之间的关系。

Global site tag (gtag.js) - Google Analytics