Python_Example_GUI_PyQt5程序

2018-09-09

Author: 楚格

IDE: Pycharm2018.02   Python 3.7    第三方库:PyQt5

KeyWord :  GUI  pyqt5

Explain:

1GUI知识

2GUI-弹窗代码

 

 

1------------------------------------------------------------------------------------------------------------------

code:

--

 

2------------------------------------------------------------------------------------------------------------------

code:

--

 

__all__ = ["Display_Testing_GUI"]

'''
# =================================
# 函数 测试
# =================================
'''
def Display_Testing_GUI():
    print("Function: Testing_GUI  Ready ")
    print("Feil    : GUI_Display  ok \n")
#================================

from PyQt5 import QtWidgets, QtGui
import sys
#================================

def PopUp():
    app = QtWidgets.QApplication(sys.argv)
    window = QtWidgets.QWidget()
    window.show()
    sys.exit(app.exec_())

#=================================================

'''
# =================================
# 声明函数/模块
# =================================
'''
# import sys
from PyQt5.QtWidgets import QApplication,QWidget,QProgressBar,QPushButton
from PyQt5.QtGui import QIcon   # 设置图形 往窗口上面设置图形
from PyQt5.QtCore import QBasicTimer #计时器

'''
# =================================
# 构建一个窗口类
# =================================
'''
class Example(QWidget):
    print('Example:开始')

    def __init__(self):
        super().__init__()
        self.InitUI()
            # 发射信号 槽函数
        self.btn.clicked.connect(self.DoAction)

    def InitUI(self):
        # 构建进度条
        self.pbar = QProgressBar(self)

            # 设置进度条位置 以及 界面长度
        self.pbar.setGeometry(40, 40, 340, 30)

        self.btn = QPushButton('run',self)
            # 移动距离
        self.btn.move(50,90)

            #构建计时器
        self.timer = QBasicTimer()
            # 设置进度条初始值
        self.step = 0

            # 从屏幕左上角绘制 280*170
        self.setGeometry(300,300,380,180)
            # 设置窗口标题
        self.setWindowTitle('Tony 神笔之作')
        self.setWindowIcon(QIcon('bullet.png'))  #添加图标

        self.show()
           #
    def timerEvent(self, *args, **kwargs):   # 名称不能改变,注意
        # *args表示非键值对的不定个数的变量列表
        # **kwargs表示带键值对的不定个数的参数列表
        print("TimerEvent")

        if self.step >= 100:
            self.btn.setText('finish')
        self.step = self.step + 0.382
        self.pbar.setValue(self.step)

    def DoAction(self):
        print('DoAction')
            # 判断是否处于激活状态
        if  self.timer.isActive():
            self.timer.stop()
            self.btn.setText('run')
        else:
            self.timer.start(100,self)
            self.btn.setText('stop')

def Run_Qt5():
    # 构建一个QT对象
    app = QApplication(sys.argv)
    ex = Example()
    # 执行
    sys.exit(app.exec_())
#

#===========================================

'''
# ------------------------------------------
# 测试 -- 局部函数使用
# ------------------------------------------
'''
if __name__ == "__main__":
    Display_Testing_GUI()
    # PopUp()

    Run_Qt5()    #例子 

 

--

Run Result:

--

 

 

--

3------------------------------------------------------------------------------------------------------------------

测试工程文件及所需工具:

1、首先安装Pycharm,先前一篇介绍安装破解版的可以参考:

>>> < http://www.roselady.vip/a/cangjingge/boke/2018/0204/685.html >         Pycharm Professional(专业版)完美破解,永久激活

2、新建一个空的python工程,找到setting安装第三方模块PyQT5,点加号,先安PyQT5,再安装pyqt5-tools,后面包含qtdesinger



3、以上模块都安完,设置扩展工具的参数找到setting->tools->external tools,点击加号新建工具

4、先加qtdesinger的参数,program:E:\python_study\qtstudy\venv\Lib\site-packages\pyqt5-tools\designer.exe,这个是我的需要换成你自己的,
arguments:$FileDir$\$FileName$ ,working directory:$FileDir$,后面这个可以和我一样



6、再点加号,添加pyuic5的参数,这个是把qt的UI文件转换成.py文件的工具,program:E:\python_study\qtstudy\venv\Scripts\pyuic5.exe,这个也需要改成你自己的,
arguments:$FileName$ -o $FileNameWithoutExtension$.py ,working directory:$FileDir$,后面这个可以和我一样


7、再点加号,添加pyrcc的参数,这个是将资源文件如图片等转成python代码能识别的文件,这个参数基本和pyuic5的是一样的


8、以上参数配置完成PYQT5也可以说是基本完成了,如果你是顺利基本可以装B了



 

4------------------------------------------------------------------------------------------------------------------

 

5------------------------------------------------------------------------------------------------------------------

end------------------------------------------------------------------------------------------------------------------

 

posted @ 2018-09-09 04:49  楚格  阅读(1212)  评论(0编辑  收藏  举报