Qt设计师与主程序调用方法

本能地对手写代码作UI不感冒。因为UI要作专业设计啊,你用代码写的同事怎么美化?


但是对设计师作的ui文件,又不太会用。勉强套一个代码的样式,对一个ui会用了,有两个代码就又乱了。


rapid gui programing with python and qt第五章,终于有了一个主窗口和子窗口的例子。虽然书上用的代码,我用设计师也做出来了。


先画好两个UI,只布元素,漂亮是美工的事了。


这两个图片画好,保存,转py格式,导入主程序中。然后用代码表示为:


import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from CHP5.main import Ui_main
from CHP5.setPPD import Ui_setPropertiesDlg




class dialog(QDialog):  #新建类,导入对话框的ui或者说,设计师作的ui类的实例,就这个类的属性
    def __init__(self, parent=None):
        super(dialog, self).__init__(parent)
        self.ui = Ui_setPropertiesDlg()
        self.ui.setupUi(self)




class mytest(QDialog):
    def __init__(self, parent=None):
        super(mytest, self).__init__(parent)
        self.ui = Ui_main()   # ui文件在这里使用,这里用的主窗口。
        self.ui.setupUi(self)
        self.width = 1
        self.beveled = False
        self.style = None


        self.ui.label_2.setText(str(self.width))  # 对主窗口元素作初始化
        self.ui.label_4.setText(str(self.beveled))
        self.ui.label_6.setText(str(self.style))


        self.connect(self.ui.buttonSetup, SIGNAL("clicked()"), self.setUpPen)  # 连接按钮的作用


    def setUpPen(self):  # 定义按钮的方法
        test_dialog = dialog()  # 对话框类的实例化
        if test_dialog.exec_():  #如果执行的话
            self.width = test_dialog.ui.spinBox .value()
            self.beveled = test_dialog.ui.checkBox.checkState()
            self.style = test_dialog.ui.comboBox.currentText()
            self.updateData()  # 更新主窗口数据


    def updateData(self):  #更新数据
        self.ui.label_2.setText(str(self.width))
        self.ui.label_4.setText(str(self.beveled))
        self.ui.label_6.setText(str(self.style))






app = QApplication(sys.argv)
form = mytest()
form.show()
app.exec_()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值