您的位置:首页 > 编程语言 > Qt开发

<PY><OOP>PyQt和QtDesigner混合使用(一)伯努利试验

2015-05-03 14:32 561 查看

一,设计三个界面

main.ui,do.ui,wait.ui



图片资源使用qrc文件来控制载入:

img.qrc的内容:

<!DOCTYPE RCC><RCC version="1.0">

<qresource>

<file>bg.jpg</file>

<file>do.jpg</file>

<file>wait.jpg</file>

</qresource>

</RCC>

显示风格使用样式表qss来控制:



二,将资源控制文件qrc转换成python文件来控制资源载入

转换命令 为

C:\Python27\Lib\site-packages\PyQt4\pyrcc4.exe -o E:\choice\srcXS\img.py E:\choice\srcXS\img.qrc
第一个参数是转换器位置,-o是一个常用参数,第三个参数是生成的py文件,第四个参数是qrc文件位置

三,设计python文件run.py来使用界面

__init__.py这个空文件可以把一个文件夹指定为python package

#run.py
from PyQt4 import QtGui,uic
import  sys,srcXS.img
from random import randint
def show_only(windows, n):
    for i, window in enumerate(windows):
        if i != int(n):
            window.hide()
        else:
            window.show()

class Choice(QtGui.QFrame):
    def __init__(self):
        super(QtGui.QFrame, self).__init__()
        self.windows=[uic.loadUi('main.ui'),uic.loadUi('wait.ui'),uic.loadUi('do.ui')]
        show_only(self.windows,0)
        self.windows[0].chooseButton.clicked.connect(lambda: self.btn_tapped())
    def btn_tapped(self):
        show_only(self.windows,randint(1,2))

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    a=Choice()
    sys.exit(app.exec_())


文件夹组织为:



四,运行效果





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: