金沙贵宾会官网|金沙贵宾会登录-官网

【A】金沙贵宾会官网超高的返奖率为娱乐者提供资金保障,所以金沙贵宾会登录官网更加的方便了你的娱乐,申请88元彩金,因为在当中不仅仅只有游戏。

Python学习笔记之自定义函数

日期:2019-10-05编辑作者:网络技术

Python 是一种面向对象、直译式计算机程序设计语言。Python语法简洁而清晰,具有丰富和强大的类库。

一、Python GUI介绍

搭建环境

它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。  

User Interface,简称 GUI,又称图形用户接口;是指采用图形方式显示的计算机操作用户界面。

Windows10 x64   

def 函数名(参数):

GUI图形用户界面(Graphical

Python2.7

函数体

User Interface,简称 GUI,又称图形用户接口;是指采用图形方式显示的计算机操作用户界面。

安装包http://www.riverbankcomputing.co.uk/software/pyqt/download

早已经被python没有各种结束符打败了,看看函数,连参数都不需要定义数据类型,函数定义也要标新立异,大部分语言都是用function ,这货偏偏要用def

Python 作为脚本语言,起初并不具备GUI工具,但由于本身具有良好的可拓展性,目前有相当多的GUI在python中使用

Python2.7, 下载PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-x64.exe

,def不是C里预处理的么,有点理解不来。

Python 常用GUI控件集有PyQt、Tkinter、wxPython、PyGUI、Kivy。

一路next就行了,很简单,需要注意的是,安装包会自动搜索Python的安装位置,然后安装到Python27Libsite-packagesPyQt4 目录下。 参考:http://www.2cto.com/kf/201111/111625.html

python里的一切函数、结构体、循环都是用:开始的,没有结束符。程序的可读性会变差。没法像C那样,一块块的,我爱写几个函数就写几个函数,互相调用再实例化,各种爽,python 看都看不来,看来是很考验写注释的功力啊

其中PyQt是Qt为python专门提供的GUI扩展。

Python使用Qt的UI文件

 # Python自定义函数 

二、常用GUI对比

搭建好环境后,就可以用 designer设计器 来创建UI界面,windows下在 Python27Libsite-packagesPyQt4 目录下,mac下在qt的安装目录 Qt5.3.0/5.3/clang_64/bin 下

 # 自定义函数关键字:def 

图片 1

designer生成的UI文件的的后缀是 .ui  ,命令: pyuic4 -x aaaaaaa.ui -o bbbbbb.py  即可把.ui文件转成py文件了。(可以先cd到.ui文件所在的目录,也可以直接输入.ui 文件的绝对路径)

 def defName(): 

三、PyQt介绍及开发实践

注意: windows下可以打开 cmd.exe 直接输入pyuic4命令,mac下要设置一下pyuic4环境变量,否则就只能带上路径了,如:

     print(123) 

PyQt 是一个用于创建GUI应用程序的跨平台的工具包,它将Python编程语言和Qt库 成功融合在一起。QT库目前是最强大的GUI库之一。

/Volumes/mac_data/soft/PyQt-mac-gpl-4.11.4-snapshot-83d48b092f7c/pyuic4 -x aaaaaaa.ui -o bbbbbb.py

   

PyQt可以运行在所有主流操作系统上,包括UNIX,Windows和Mac OS 。

Windows下eric的安装

 print(defName()) 

自从Qt移植到Python 上形成PyQt以来,已经发出PyQt3, PyQt4, PyQt5

2.7使用pyqt5

在PyQt的官网,我只看到了PyQt5只有针对Python3的安装包而没有针对Python2.7的,

但是目前我的环境是2.7的,如何解决:

可以使用pip来安装网上资源包,现成的。

pip install python-qt5

   

PyQt提供GPL版和商业版

 # 注: 

(1)安装:

 # 将一个变量传递给函数,函数对它进行操作,但原整数变量不发生变化 

Ubuntu下:

 # 将一个表(数组)传递给函数,函数进行操作,原来的表(数组)发生变化 

uPyqt库:sudoapt-get install python-pyqt5

 # 对于基本数据类型的变量,变量传递给函数后,函数会在内存中复制一个新的变量,从而不影响原来的变量。(称此为值传递) 

uQt-designer: sudo apt-get install qt5-designer

 # 对于表(数组)来说,表(数组)传递给函数的是一个指针,指针指向序列在内存中的位置,在函数中对表(数组)的操作将在原有内存中进行,从而影响原有变量。(称此为指针传递) 

upyuic5 :sudo apt install pyqt5-dev-tools

  

uPyInstaller :pip install PyInstaller

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

Windows下:

  

进入pip目录(cd

 # Python函数range() 

C:Python34Scripts)

 # 建立序列数组,例:[0,1,2,3...] 数组元素的个数取决于range()参数值(-1) 

Pyqt库:pip3install SIP

   

                pip3install PyQt5 

 range(5) #[0,1,2,3,4] 

PyInstaller :pip install PyInstaller

  

(2)开发过程介绍:

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

    1、Qt Designer 画图(Ctrl+R 预览) .ui

  

    2、.ui转换为.py

 # PyQt绘制界面布局,通过CMD生成py源文件(命令): 

      方法:pyuic5 -o a.py a.ui

 # pyuic4.bat qt文件路径(相对/绝对)/文件名称.ui -x -o 要保存的路径/文件名称.py 

   3、逻辑文件视情况开发完成业务逻辑

 # -x 后面跟的是需要转换的文件 

   4、pyinstaller 打包.py转换为.exe(windows下可运行文件)

# -o 后面跟的文件名,想要输出成的python程序的名字(不可使用中文) 

(3)Pyinstaller

 # C:/Python33/Lib/site-packages/PyQt4>pyuic4.bat F:/python/qt.ui -x -o F:/python/gt.py

    Pyinstaller把python解释器和脚本打包成一个可执行文件,和编译成真正的机器代码是两回事。

    打包后的可执行文件不具备可移植性,若要在不同操作系统上运行,就必须在该系统上重新进行打包

    安装:pip install PyInstaller

    配置环境变量:

   QT_QPA_PLATFORM_PLUGIN_PATH

    C:Python34

不配置环境变量,点击打包后的.exe运行Libsite-packagesPyQt5plugins        

注:后直接闪退

提示:This application failed to start

because it could not find or load the Qt platform plugin “windows”.   

打包命令:pyinstaller-F -pC:python34;C:Python34Libsite-packagesPyQt5;  call_tools.py

•-F,-onfile .打包成一个.exe文件

•-p,依赖包所在文件

四、实践代码

(1)pyqt designer画图

图片 2

(2)转换为.py文件

pyuic5 -o firstPyQt51.py  firstPyQt51.ui


firstPyQt51.py

# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form(object):

    def setupUi(self, Form):

        Form.setObjectName("Form")

        Form.resize(400, 300)

        self.pushButton = QtWidgets.QPushButton(Form)

        self.pushButton.setGeometry(QtCore.QRect(140, 60, 99, 27))

        self.pushButton.setObjectName("pushButton")

        self.retranslateUi(Form)

        self.pushButton.clicked.connect(self.firtPyQt5_button_click)

        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):

        _translate = QtCore.QCoreApplication.translate

        Form.setWindowTitle(_translate("Form", "Form"))

        self.pushButton.setText(_translate("Form", "PushButton"))

    #接下修改下firstPyQt5.py文件,主要是去实现slot函数,因为之前在QtDesigner里没有实现,让它弹出一个消息框

    def firtPyQt5_button_click(self):

        QtWidgets.QMessageBox.information(self.pushButton,"标题","这是第一个PyQt5 GUI程序")

(2)编写调用excute.py文件

excute.py

# -*- coding: utf-8 -*-

import sys

from PyQt5.QtWidgets import QApplication, QWidget    #导入相应的包

from PyQt5.QtWidgets import QApplication , QMainWindow

from firstPyQt51 import *

if __name__ == '__main__':

    '''

    主函数

    '''

    app = QApplication(sys.argv)

    #app = QApplication(sys.argv),每一个pyqt程序必须创建一个application对象,

    #sys.argv是命令行参数,可以通过命令启动的时候传递参数。

    mainWindow = QMainWindow()

    #生成过一个实例(对象), mainWindow是实例(对象)的名字,可以随便起。

    ui = Ui_Form()

    ui.setupUi(mainWindow)

    mainWindow.show()

    #用来显示窗口

    sys.exit(app.exec_())

    #exec_()方法的作用是“进入程序的主循环直到exit()被调

(4)执行python excute.py后点击”PushButton"弹出以下界面

图片 3

以上是学习总结,欢迎指正~~~

本文由金沙贵宾会官网发布于网络技术,转载请注明出处:Python学习笔记之自定义函数

关键词:

一个实用Linux命令示例集合,一个实用

Cheat : 一个实用 Linux 命令示例集合 | Linux 中国,cheatlinux 我们中的许多人经常查看 man 页面来了解命令开关(选项)...

详细>>

python成立列表和向列表添日成分方法,python创立

有关于用extend拓展列表的方法,大家需要注意的是,此方法是用列表去拓展列表,而不是直接添加元素,所以“()...

详细>>

PHP正则表明式提取html超链接中的href地址,完成代

例子 用php的正则表达式相关函数,实现提取html超链接ahref="地址"/a中的地址。 正则表达式提取网址中的id  代码如下...

详细>>

软件的最佳,pdf文件必须转换成word文档才可以编

但是,有时候使用开源工具能够帮您摆脱困境。比如,您正在使用一台公共打印机打印一份用Adobe InDesign创建的文件。...

详细>>