pyqt学习(5)
来源:互联网 发布:unity3d so 编辑:程序博客网 时间:2024/06/05 05:00
python2.7+pyqt4.8+Qt Designer实现对话框
Ui_pen.py:
# -*- coding: utf-8 -*-from PyQt4 import QtCore, QtGuitry: _fromUtf8 = QtCore.QString.fromUtf8except AttributeError: def _fromUtf8(s): return stry: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig)class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName(_fromUtf8("Dialog")) Dialog.resize(272, 167) Dialog.setSizeGripEnabled(True) self.gridLayout_2 = QtGui.QGridLayout(Dialog) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.gridLayout = QtGui.QGridLayout() self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.widthLabel = QtGui.QLabel(Dialog) self.widthLabel.setObjectName(_fromUtf8("widthLabel")) self.gridLayout.addWidget(self.widthLabel, 0, 0, 1, 1) self.widthSpinBox = QtGui.QSpinBox(Dialog) self.widthSpinBox.setObjectName(_fromUtf8("widthSpinBox")) self.gridLayout.addWidget(self.widthSpinBox, 0, 1, 1, 1) self.beveledCheckBox = QtGui.QCheckBox(Dialog) self.beveledCheckBox.setObjectName(_fromUtf8("beveledCheckBox")) self.gridLayout.addWidget(self.beveledCheckBox, 0, 2, 1, 1) self.styleLabel = QtGui.QLabel(Dialog) self.styleLabel.setObjectName(_fromUtf8("styleLabel")) self.gridLayout.addWidget(self.styleLabel, 1, 0, 1, 1) self.styleComboBox = QtGui.QComboBox(Dialog) self.styleComboBox.setObjectName(_fromUtf8("styleComboBox")) self.styleComboBox.addItem("") self.styleComboBox.addItem("") self.styleComboBox.addItem("") self.styleComboBox.addItem("") self.styleComboBox.addItem("") self.gridLayout.addWidget(self.styleComboBox, 1, 1, 1, 2) self.buttonBox = QtGui.QDialogButtonBox(Dialog) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName(_fromUtf8("buttonBox")) self.gridLayout.addWidget(self.buttonBox, 2, 2, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) self.widthLabel.setBuddy(self.widthSpinBox) self.styleLabel.setBuddy(self.styleComboBox) self.retranslateUi(Dialog) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("clicked(QAbstractButton*)")), Dialog.accept) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("clicked(QAbstractButton*)")), Dialog.close) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): Dialog.setWindowTitle(_translate("Dialog", "Dialog", None)) self.widthLabel.setText(_translate("Dialog", "Width:", None)) self.beveledCheckBox.setText(_translate("Dialog", "Beveled edges", None)) self.styleLabel.setText(_translate("Dialog", "Style:", None)) self.styleComboBox.setItemText(0,_translate("Dialog","Solid",None)) self.styleComboBox.setItemText(1, _translate("Dialog", "Dashed",None)) self.styleComboBox.setItemText(2, _translate("Dialog", "Dotted",None)) self.styleComboBox.setItemText(3, _translate("Dialog", "DashDotted",None)) self.styleComboBox.setItemText(4, _translate("Dialog", "DashDotDotted",None))class Pen(QtGui.QDialog,Ui_Dialog): def __init__(self,parent=None): super(Pen,self).__init__(parent) self.setupUi(self)
formUi.py:
#coding=utf-8from PyQt4 import QtCore, QtGuitry: _fromUtf8 = QtCore.QString.fromUtf8except AttributeError: def _fromUtf8(s): return stry: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding)except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig)class Ui_Form(object): def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(252, 146) self.gridLayout = QtGui.QGridLayout(Form) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.penButton = QtGui.QPushButton(Form) self.penButton.setObjectName(_fromUtf8("penButton")) self.gridLayout.addWidget(self.penButton, 0, 0, 1, 1) self.label = QtGui.QLabel(Form) self.label.setObjectName(_fromUtf8("label")) self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): Form.setWindowTitle(_translate("Form", "Form", None)) self.penButton.setText(_translate("Form", "Set Pen...(Dumb&class)", None)) self.label.setText(_translate("Form", "The Pen has not been set", None))
主程序:有调用主界面formUi,进而显示Ui_pen
#coding=utf-8#文件功能:import sysfrom PyQt4.QtGui import *from PyQt4.QtCore import *from Ui_pen import Penfrom formUi import Ui_Formclass Form(QDialog,Ui_Form): def __init__(self,parent=None): super(Form,self).__init__(parent) self.setupUi(self) self.width=1 self.beveled=False self.style="Solid" self.penButton.clicked.connect(self.setPenProperties) self.updateData() def updateData(self): bevel="" if self.beveled: bevel="<br>Beveled" self.label.setText("Width={0}<br>Style={1}{2}".format(self.width,self.style,bevel)) def setPenProperties(self): pendialog=Pen(self) pendialog.widthSpinBox.setValue(self.width) pendialog.beveledCheckBox.setChecked(self.beveled) pendialog.styleComboBox.setCurrentIndex( pendialog.styleComboBox.findText(self.style)) if pendialog.exec_(): self.width=pendialog.widthSpinBox.value() self.beveled=pendialog.beveledCheckBox.isChecked() self.style=str(pendialog.styleComboBox.currentText()) self.updateData()if __name__=="__main__": app=QApplication(sys.argv) dlg=Form() dlg.show() sys.exit(app.exec_())
参考:1.《Rapid Gui Programming with Python and Qt》–by Mark Summerfield
2.http://blog.csdn.net/xiaoyangyang20博客
阅读全文
0 0
- PyQt学习(5)
- pyqt学习(5)
- 学习PyQt (1)
- PyQt学习(1)
- PyQt学习(2)
- PyQt学习(3)
- PyQt学习(4)
- PyQt学习(6)
- PyQt挖地雷游戏学习笔记(5)
- PyQT 学习
- pyqt学习
- pyqt学习
- PyQt学习笔记(5)--Main Window
- PyQt的学习(1) 入门
- PyQt的学习(1) 入门
- 材料院项目之pyqt学习(一)——Hello PyQt
- pyQt 例程学习 -1-
- PyQt学习总结
- 关于自定义薪酬毛利比的不同期间切换的值的正确性求解
- Gimp 快速入门(5)
- nyoj 116士兵杀敌(二) 树状数组的学习与使用
- json xml通信数据方法
- oracle异常原因汇总
- pyqt学习(5)
- 40个Java多线程问题总结
- 深度学习——AlexNet网络
- JacaScript函数定义
- 声明函数的三种方式
- springmvc自定义异常统一处理
- 读《格局逆袭》后感
- 【Linux学习笔记】37:基础正则表达式元字符
- 设计模式-迭代器模式 C++实现