-
2020-11-21 04:02:33
原博文
2017-11-16 22:18 −
新建ui_MainWindow.py文件 # encoding: UTF-8 # Qt相关和十字光标 from PyQt4.QtGui import * from PyQt4.QtCore import * from PyQt4 import QtGui,QtCore ##############...
相关推荐
2019-12-17 16:32 −
一 类的基本语法与结构
一般形式 ,首字母大写
class ClassName (bases): #bases基类,写父类的名称,继承,如果没有继承,则不填
data = value #定义数据属性 ,类属性
def meth...
2019-09-29 23:03 −
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对...
2019-12-19 20:42 −
一. 包 1. 什么是包? 集合了一组py文件,提供了一组复杂功能的 2. 为什么要有包? 当提供的功能比较复杂,一个py文件写不下的时候 3. 包中都有什么? 至少拥有一个__init__.py 4. 直接导入模块 1. import 包.包.模块 包.包...
2018-11-16 16:13 −
属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性。实例属性在每创造一个实例时都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同。从而减少内存。...
2019-12-07 21:59 −
编程只是 if ;
为了少写重复的代码,有了循环 for/while;
但碰到很长的重复代码,可能用一个循环难以实现,所以出现了面向对象的思想:
类:就是你的循环主体
实例:就是对你的循环的一次调用
概念:
1. 在Python中,首字母大写的,名称指的是类。这个类定义中的...
0
2637
2019-12-03 09:37 −
# -*- coding: utf_8 -*-
# 文件名称:main_pt.py
# locust基础性能测试模板
# 时间:2017-10-19 from locust import HttpLocust, TaskSet, task
import subprocess
import json ...
2019-09-29 23:29 −
☐ 基础知识 Python中一切都是对象 元组中只有一个元素的话,后面的逗号不能省略 编程单元 函数(使用def定义)、类(使用class定义)、模块(类型为module) 类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象 ...
0
287
2019-09-27 15:30 −
python的执行顺序一直都是很令人头疼,简单随记了一些 1、正常顺序执行。 print(1) a = 2 l = [3] 这个就不附结果了,都能猜得到,这种按顺序执行,还有像等号双等号这种,都是从右边开始执行,执行等号右边,赋值给等号左边。 2、函数的执行过程 # coding=utf-8 d...
2019-12-06 15:53 −
在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块
变量(全局变量 局部变量 实例属...
2019-12-19 08:39 −
Python可视化界面编程入门具体实现代码如所示:
(1)普通可视化界面编程代码入门:
import sysfrom PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程if __name__=="__main__": #创建一个Ap...
更多相关内容 -
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020-12-20 09:45:11废话不多说,看代码吧!...comvalue=tkinter.StringVar()#窗体自带的文本,新建一个值 comboxlist=ttk.Combobox(win,textvariable=comvalue) #初始化 comboxlist["values"]=("1","2","3","4") comboxlist.current -
python窗体编程
2020-12-02 14:27:57广告关闭云服务器1核2G首年99年,还有多款热门云产品满足您的上云需求python里的图形化界面(gui)模块主要有tkinter(python自带)、pyqt、wxpython,我们这节主要讲解tkinter组件:一、tkinter介绍tkinter模块只要用户...广告关闭
云服务器1核2G首年99年,还有多款热门云产品满足您的上云需求
python里的图形化界面(gui)模块主要有tkinter(python自带)、pyqt、wxpython,我们这节主要讲解tkinter组件:一、tkinter介绍tkinter模块只要用户安装好python环境就可以直接使用; 1. 第一个tkinter程序import tkinter as tk # 给tkinter重命名为tkroot = tk.tk() #新建一个窗体root.mainloop() # 展示窗体2...
使用-1可以自动创建一个唯一的标识lable:显示在静态控件中的文本内容pos:一个wx.point或者一个python元组,它是窗口部件的位置size:一个wx.size或一个python元组,它是窗口部件的尺寸style:样式标记name:对象名字实例代码: 使用wx.statictext输出python之禅# -*- coding:utf-8 -*-import wxclass myframe(wx...
要链接的资源路径,如:href=www.baidu.comtarget:_blank:在新的窗体打开超链接,框架名称; 在指定框架中打开连接内容name:定义页面的书签,用于跳转...而id属性是浏览器端使用的名称,该属性主要为了方便客户端编程,在css和javascript中使用10 value:表单提交项的值,对于不同的输入类型,value属性的用法...
那么自己去定义函数? 格式:def 函数名称(): 函数的内容,具体就是很多的python代码本节知识视频教程:https:v.qq.comxpagem31492zrowr.html知识要点:一、gui编程的前提,需要库tkinter库,这个一个开发gui的模块,里面有很多的控件二、创建窗体项目 1、导入库tkinter import tkinter2、创建窗体window=tkinter.tk...
依次分析下代码:第一行 通过保留字import引用了python中用于绘制图形的turtle库,as是作为别名之用。 (使用import引用函数库有两种方式,但其对函数的使用方式略有不同 import | from import *)第二行使用了turtle.setup()函数.turtle。 setup(width,height,startx,starty). 作用:设置主窗体的大小和位置...
虽然使用标准库tkinter开发python gui程序很方便,也提供了强大的功能,但是窗体上的一切都需要程序员使用代码来控制,在页面布局上浪费大量时间,确实不是很方便。 今天我们来介绍一个叫做page的python可视化开发环境,正如该软件网站所描述,page - python automatic gui generator,这是个用于快速生成python gui...
前言在上一节实现主窗体信息查询功能中我们实现了在主窗体中通过单条件查询或者组合查询进行学生信息的筛选功能,系统能够在所有的数据中精确地找到某个具体的符合条件的学生信息。 但是我们发现在主窗体中显示的都是概要信息,如果我们想要鼠标双击表格中的某一项就想查看某个学生的详细信息该怎么实现呢?...
封面图片:《中学生可以这样学python》,董付国,应根球著,清华大学出版社=====问题描述:创建窗体,显示一张图片,当改变窗体大小时,自动缩放并显示图片。 参考代码:? 运行效果:? 温馨提示关注本公众号“python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的800篇技术文章列表(可根据关键字...
mf1.move(dk.width() 2-mf1.width()2,dk.height()2-mf1.height()2) app.exec_()相关文章:python高级进阶#001可视化界面开发环境搭建python高级进阶#002第一个pyqt5程序python高级进阶#003 pyqt5与qtdesigner对照分析python高级进阶#004pyqt5设置窗体图标python中函数递归vs循环python中函数的可变参数python中自定义...
纯pyqt5代码来创建窗体程序2. 理解gui窗体的开发原理----本节知识视频教程以下开始文字教程一、python纯代码编写gui最简单代码app=qapplication(sys.argv)w=qwidget()w.show()app.exec_()二、pyqt5设置窗体图标使用函数setwindowicon函数。 设置图标需要类库的导入from pyqt5.qtgui importqicon将qicon类利用构造函数...
利用qmenu的类型,由qmenubar来返回3. 点击情况:子菜单addmenu。 直接点击事件addaction本节知识视频教程以下开始文字讲解: 一、案例:登录窗体1. 实现窗体的加载(有图标)2. 用户名和密码的登录框3. 能够将用户名和密码获取过来二、开发过程提问:开发思路中需要加载什么? 1.加载窗体qwidget qapplication2...
新建第一个窗体2. 一级菜单的配置3. 二级菜单的配置4. 利用菜单功能实现界面跳转,实现一个多窗体的打开5. 利用菜单功能实现温馨提示? 效果图 二、开发思路1. 导入类qmainwindow。 2. 使用qmenu菜单类,这个菜单我们可以从窗体本身的方法进行获取。 3. 利用qmenu的功能,来实现多级菜单addation这是一个直接产生点击...
一、知识回顾1. 点到了窗体的绝对布局。 2.窗体的居中方式:根据已知像素,计算窗体的起点位置。 desktop()函数,这个函数是在qapplication类中的。 函数返回的结果qdesktopwidget对象。 想要获取水平方向,调用width函数想要获取垂直方向,调用height函数3. 标签控件的使用qlabel本节知识视频教程视频内容以下开始...
tkinter提供强大的机制让您自己处理事件,每个组件你都可以为各种事件绑定python的函数和方法widget.bind(event,handler)如果组件中发生了与event描述匹配的事,将调用handler指定的处理程序。 windows编程是基于消息的,绝大多数界面编程是基于事件的。 事件的绑定函数bind: 语法:窗体对象.bind(事件类型,回调函数)...
练习把student的gender属性改造为枚举类型,可以避免使用字符串:窗体顶端# -*- coding: utf-8 -*-from enum import enum, unique? # 测试:bart = student...python自带的很多库也使用了mixin。 举个例子,python自带了tcpserver和udpserver这两类网络服务,而要同时服务多个用户就必须使用多进程或多线程模型...
在大多数时候,我们都在黑黢黢的控制台里执行 python 脚本。 这看起来很酷很 geek。 但对于部分场景下的用户来说,这样就不大美观和人性化了:我们需要交互更方便的图形化产品,也就是 gui(图形用户界面,graphical user interface)。 python 有很多可实现 gui 的库,在之前的文章中有过一个整理:如何用 gui 提高 ...
tkinter绑定了 python 的 tk gui 工具集 ,就是python 包装的tcl代码,通过内嵌在 python 解释器内部的 tcl 解释器实现, tkinter的调用转换成 tcl 命令...#设置该子窗体始终在界面最前面(15)tl_show.title(ok!) #设置子窗体标题为ok! t1_show=text(tl_show,width=10,height=4)#在该窗体增加输入文本框1t2...
参考链接: 使用python创建一个简单的计算器前言:本文讲述的是如何利用python编程制作一个适用于指定行业的计算器,方便计算结果,涵盖的知识点由python编写gui界面程序,利用爬虫采集实时的汇率数据,将python文件打包成可以单独运行的exe文件。 首先,分析我们的需求,编写一个适用于指定行业的计算器...
对于cpu绑定的任务没用,因为python gil。 multiprocessing – 标准的python库运行多进程。 celery – 基于分布式消息传递的异步任务队列作业队列。 concurrent-futures – concurrent-futures模块为调用异步执行提供了一个高层次的接口。 异步异步网络编程库asyncio – (在python 3.4 +版本以上的 python标准库)...
对于cpu绑定的任务没用,因为python gil。 multiprocessing – 标准的python库运行多进程。 celery – 基于分布式消息传递的异步任务队列作业队列。 concurrent-futures – concurrent-futures模块为调用异步执行提供了一个高层次的接口。 异步异步网络编程库asyncio – (在python 3.4 +版本以上的 python标准库)...
-
python开发窗体
2020-11-29 08:32:26虽然使用标准库tkinter开发python gui程序很方便,也提供了强大的功能,但是窗体上的一切都需要程序员使用代码来控制,在页面布局上浪费大量时间,确实不是很方便。 今天我们来介绍一个叫做page的python可视化开发...广告关闭
腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!
虽然使用标准库tkinter开发python gui程序很方便,也提供了强大的功能,但是窗体上的一切都需要程序员使用代码来控制,在页面布局上浪费大量时间,确实不是很方便。 今天我们来介绍一个叫做page的python可视化开发环境,正如该软件网站所描述,page - python automatic gui generator,这是个用于快速生成python gui...
纯pyqt5代码来创建窗体程序2. 理解gui窗体的开发原理----本节知识视频教程以下开始文字教程一、python纯代码编写gui最简单代码app=qapplication(sys.argv)w=qwidget()w.show()app.exec_()二、pyqt5设置窗体图标使用函数setwindowicon函数。 设置图标需要类库的导入from pyqt5.qtgui importqicon将qicon类利用构造函数...
窗体事件的重写,close event事件2.qmessagebox消息框的使用本节知识视频教程以下开始文字讲解:二、窗体的居中1. 默认情况下,我们的窗体默认是居中在...python高级进阶#001可视化界面开发环境搭建python高级进阶#002第一个pyqt5程序python高级进阶#003 pyqt5与qtdesigner对照分析python高级进阶#004pyqt5设置...
封面图片:《中学生可以这样学python》,董付国,应根球著,清华大学出版社=====问题描述:创建窗体,显示一张图片,当改变窗体大小时,自动缩放并显示图片。 参考代码:? 运行效果:? 温馨提示关注本公众号“python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的800篇技术文章列表(可根据关键字...
那么自己去定义函数? 格式:def 函数名称(): 函数的内容,具体就是很多的python代码本节知识视频教程:https:v.qq.comxpagem31492zrowr.html知识要点:一、gui编程的前提,需要库tkinter库,这个一个开发gui的模块,里面有很多的控件二、创建窗体项目 1、导入库tkinter import tkinter2、创建窗体window=tkinter.tk...
作者:turbobin,三年银行后端开发经验,坐标深圳。 python爱好者,熟悉python,java,cobol, rexx等多种开发语言,熟悉django,scrapy等框架, 喜欢研究新技术,擅长数据分析和处理。 出于对python的热爱,目前离职空窗期,正寻求一份专门从事python开发的工作。 笔者是python中文社区的粉丝,一直关注社区文章的...
除了语言本身的设计目的之外,python标准 库也是值得大家称赞的,python甚至还自带服务器。 其它方面,python拥有足够多的免费数据函数库、免费的web网页模板系统、还有与web服务器进行交互的库、这些都可以设计到你的web应用程序里面。 这篇文章列举了十个python web应用开发框架,不过因为django似乎人尽皆知的样子...
python在web开发方面有着广泛的应用。 鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题。 为此,我特此对比较常见的几种框架从性能、使用感受以及应用情况进行一个粗略的分析。 1 djangodjango是一个开放源代码的web应用框架,由python写成。 采用了mtv的框架模式,即模型m,模板t和视图v。 它最初是被...
前言前面我们学习了python gui 图型化界面tkinter的基础知识,为了检测我们的学习成果,学以致用。 我们从今天开始做一个综合tkinter案例--基于tkinter的学生信息管理系统,一方面熟悉tkinter项目的开发,另一方面可以把我们前面的学习专辑《小雨学python》的知识综合在一起。 基础功能介绍说明:由于我们尚未学习...
flask是一个使用 python 编写的轻量级 web 应用框架。 其 wsgi 工具箱采用 werkzeug ,模板引擎则使用 jinja2 。 flask使用 bsd 授权。 flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。 flask没有默认使用的数据库、窗体验证工具。 今天我们邀请到了多年从事python开发的不动...
flask是一个使用 python 编写的轻量级 web 应用框架。 其 wsgi 工具箱采用 werkzeug ,模板引擎则使用 jinja2 。 flask使用 bsd 授权。 flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。 flask没有默认使用的数据库、窗体验证工具。 今天我们邀请到了多年从事python开发的不动...
使用tkinter开发猜数字游戏2. python图形界面设计python提供了多个图形开发界面的库3. 程序设计步骤在猜数字游戏程序中导入相关模块:random.randint(0...关闭按钮事件函数实现窗体关闭。 游戏截图:? 参考代码:import tkinter as tkimport sysimport randomimport renumber=random.randint(0,1024)running=...
▲图1 再点击保存,那么数据库就存入了以上输入的数据,查看界面的用户列表会显示tester,如下图2所示:? ▲图22、开发过程接下来根据以上实例,一步一步教你编写代码。 首先搭建好python环境--python3,django2,mysql,pycharm,等。 一 python数据模型 models.py,用于创建数据库表存储数据clastest(models.model)...
利用qmenu的类型,由qmenubar来返回3. 点击情况:子菜单addmenu。 直接点击事件addaction本节知识视频教程以下开始文字讲解: 一、案例:登录窗体1. 实现窗体的加载(有图标)2. 用户名和密码的登录框3. 能够将用户名和密码获取过来二、开发过程提问:开发思路中需要加载什么? 1.加载窗体qwidget qapplication2...
python3 gui用python3创建窗口并显示#! usrbinpython3# -*- coding:utf-8 -*- import tkinter top=tkinter.tk() #进入消息循环体top.mainloop()结果1:?...print(hello world!) win = tk() #定义一个窗体 win.title(hello world)#定义窗体标题 win.geometry(400x200) #定义窗体的大小,是400x200像素 btn = ...
新建第一个窗体2. 一级菜单的配置3. 二级菜单的配置4. 利用菜单功能实现界面跳转,实现一个多窗体的打开5. 利用菜单功能实现温馨提示? 效果图 二、开发思路1. 导入类qmainwindow。 2. 使用qmenu菜单类,这个菜单我们可以从窗体本身的方法进行获取。 3. 利用qmenu的功能,来实现多级菜单addation这是一个直接产生点击...
知识回顾:上一节主要学习了%取余数,举例如下:5%3=2利用这个取余的方法,我们可以计算几天后是星期几的问题? 计算公式:(今天是星期几+几天后)%7----本节知识视频教程 一、回到python replpythonrepl简称python控制台。 往往企业中的生产环境比较简单,但是需要我们可能去解决一些bug,需要现场调试,此时,现场...
windows 窗体 为了开发交互式 windows 应用, ironpython 须进行初始化. 默认情况下, python 控制台运行在单一线程下. 当线程等待控制台窗口输入文本时,被控制台动态创建的windows 应用不能处理 windows消息. 因此, 当前应用不会重画自身或处理输入到ui上. 我们提供一个“.py” 文件去初始化ironpython 到windows ...
查看安装结果打开命令行窗口,输入:python –v 查看安装的python版本,下面窗体代表安装成功? python集成环境搭建pythond集成开发环境很多可供选择,我直接介绍我用的大众化的ide:pycharm下载地址:http:www.jetbrains.compycharmdownload#section=windows在下载地址页面,根据自己的电脑环境选择对应的版本下载...
tkinter提供强大的机制让您自己处理事件,每个组件你都可以为各种事件绑定python的函数和方法widget.bind(event,handler)如果组件中发生了与event描述匹配的事,将调用handler指定的处理程序。 windows编程是基于消息的,绝大多数界面编程是基于事件的。 事件的绑定函数bind: 语法:窗体对象.bind(事件类型,回调函数)...
-
python窗体--pyqt初体验
2020-11-29 16:23:44连续两周留作业要写ftp的作业,从第一周就想实现一个窗体版本...简而言之,qt是一个开发窗体程序的模块,原本是是C++的库,PyQt是Python的移植版本,所以我们安装了pyqt之后,就可以在python上面进行窗体的开发了。p...连续两周留作业要写ftp的作业,从第一周就想实现一个窗体版本的,但是时间实在太短,qt零基础选手表示压力很大,幸好又延长了一周时间,所以也就有了今天这篇文章。。。只是为了介绍一些速成的方法,还有初学者会遇到的问题。。。
什么是pyqt?
简而言之,qt是一个开发窗体程序的模块,原本是是C++的库,PyQt是Python的移植版本,所以我们安装了pyqt之后,就可以在python上面进行窗体的开发了。python有自带的窗体模块Tkinter,但是不够好用,为什么不够好用呢?因为画窗体什么的都要自己写代码...用了qt以后,我们就可以通过qt designer进行开发了,什么是qt disigner呢?
就是个啦,你可以在这里设计你的窗口,画编辑框,画按钮,想画什么画什么,总之,不用写代码看天书的东西都是好东西!
什么是eric?
我们有了qt,可以直接画窗体了,但是悲剧的是我们画好了窗体,生成的是一个.ui文件,python不认识啊,这个时候eric的作用就体现出来了,它可以把ui文件转换成py文件,简直强大~~~这里就不多介绍,直接来说说窗体开发,我是怎么入手的。
拥有一个属于自己的窗体程序
跳过那些坑,我们直接来说说如何快速拥有一个窗体程序。按照我上面提供的连接安装好开发需要的工具,我们可以在eric的安装目录找到一个叫做eric.pyw的东西,启动它,就打开了eric。可以看到如下左图的界面,点击project可以新建一个工程,这里不详述,还是推荐一个链接:使用eric创建一个PyQt项目http://www.pythoner.com/89.html
按照刚刚提供的链接,我们创建了一个新工程,甚至在新的工程中添加了窗口,还给窗口画了很多组件,这里来介绍几个我用到的,下图中展示了我画好的两个界面:登录和主窗口:
我这个简易版的ftp只用到了这5个组件。。。天,这样说会不会得不了A。。。嘻嘻,不管怎么样,反正就用到了这几个:lable是标签,lineEdit是编辑框,pushButton是按钮,listWidget是列表框,TextBrowser是文本框。画好了这些东西之后,我们关闭并保存qt文件,就会在eric中看到两个ui文件,右键选择生成文件,就生成了.py文件了,这个网上有大量资料,随便一搜就搜到了哈~
正文
好啦,看到这里才算进入正题,现在才是我要介绍的主要内容~~~我们现在已经有了一个ui界面和python文件,但是这个时候我们运行.py文件什么也不会发生,它会报错。。。错误的具体内容不太记得了,只记得是说没有QApplication,那么QApplication是从哪里来的呢?看下面的图:
详细的解释看右边→_→:
1 #-*- coding: utf-8 -*-
2 __author__ = 'Eva_J'
3
4 #Form implementation generated from reading ui file 'E:\ericWorkSpace\12-21\FTPhomework\views\login.ui'
5 #6 #Created by: PyQt4 UI code generator 4.11.4
7 #8 #WARNING! All changes made in this file will be lost!
9
10 from PyQt4 importQtCore, QtGui11
12 try:13 _fromUtf8 =QtCore.QString.fromUtf814 exceptAttributeError:15 def_fromUtf8(s):16 returns17
18 try:19 _encoding =QtGui.QApplication.UnicodeUTF820 def_translate(context, text, disambig):21 returnQtGui.QApplication.translate(context, text, disambig, _encoding)22 exceptAttributeError:23 def_translate(context, text, disambig):24 returnQtGui.QApplication.translate(context, text, disambig)25
26 classUi_login(object):27 defsetupUi(self, login):28 login.setObjectName(_fromUtf8("login"))29 login.resize(400, 300)30 login.setSizeGripEnabled(True)31 self.login_pushButton =QtGui.QPushButton(login)32 self.login_pushButton.setGeometry(QtCore.QRect(160, 210, 75, 23))33 self.login_pushButton.setObjectName(_fromUtf8("login_pushButton"))34 self.register_pushButton =QtGui.QPushButton(login)35 self.register_pushButton.setGeometry(QtCore.QRect(250, 210, 75, 23))36 self.register_pushButton.setObjectName(_fromUtf8("register_pushButton"))37 self.usr_lineEdit =QtGui.QLineEdit(login)38 self.usr_lineEdit.setGeometry(QtCore.QRect(160, 126, 161, 21))39 self.usr_lineEdit.setObjectName(_fromUtf8("usr_lineEdit"))40 self.pwd_lineEdit =QtGui.QLineEdit(login)41 self.pwd_lineEdit.setGeometry(QtCore.QRect(160, 166, 161, 21))42 self.pwd_lineEdit.setObjectName(_fromUtf8("pwd_lineEdit"))43 self.usr_label =QtGui.QLabel(login)44 self.usr_label.setGeometry(QtCore.QRect(91, 130, 54, 12))45 self.usr_label.setObjectName(_fromUtf8("usr_label"))46 self.pwd_label =QtGui.QLabel(login)47 self.pwd_label.setGeometry(QtCore.QRect(91, 172, 54, 12))48 self.pwd_label.setObjectName(_fromUtf8("pwd_label"))49 self.ip_label =QtGui.QLabel(login)50 self.ip_label.setGeometry(QtCore.QRect(80, 44, 91, 20))51 self.ip_label.setObjectName(_fromUtf8("ip_label"))52 self.ip_lineEdit =QtGui.QLineEdit(login)53 self.ip_lineEdit.setGeometry(QtCore.QRect(160, 44, 161, 21))54 self.ip_lineEdit.setObjectName(_fromUtf8("ip_lineEdit"))55 self.port_lineEdit =QtGui.QLineEdit(login)56 self.port_lineEdit.setGeometry(QtCore.QRect(160, 86, 161, 21))57 self.port_lineEdit.setObjectName(_fromUtf8("port_lineEdit"))58 self.port_label =QtGui.QLabel(login)59 self.port_label.setGeometry(QtCore.QRect(80, 86, 91, 20))60 self.port_label.setObjectName(_fromUtf8("port_label"))61
62 self.retranslateUi(login)63 QtCore.QMetaObject.connectSlotsByName(login)64
65 defretranslateUi(self, login):66 login.setWindowTitle(_translate("login", "Dialog", None))67 self.login_pushButton.setText(_translate("login", "登录", None))68 self.register_pushButton.setText(_translate("login", "注册", None))69 self.usr_label.setText(_translate("login", "用户名", None))70 self.pwd_label.setText(_translate("login", "密 码", None))71 self.ip_label.setText(_translate("login", "服务器地址", None))72 self.port_label.setText(_translate("login", "服务器端口", None))73
74 #这里开始是我们自己写的
75 importsys76 from PyQt4 importQtGui77 defLoginController(argv):78 app =QtGui.QApplication(argv)79 dlg =Ui_login()80 dlg.show()81 sys.exit(app.exec_())82
83 if __name__ == 'main':84 LoginController(sys.argv)
login ui Code
为控件绑定事件
执行上面的代码我们就可以有一个自己的登录窗体了,这只是一个花瓶摆件,中看不中用,我们点一点那些按钮和编辑框,没有一个搭理我们。。。肿么办肿么办,这里我也纠结了好久,最后发现qt和eric的强大不仅仅是给我们提供了画窗体的功能,还提供了信号和槽的功能(不理解的就背下来,这里其实我也不太懂。。。),先来看怎么做。。。网上说了一大堆什么在qt里添加信号和槽,亲测无效。。。所以这里还是按照我的方法来:
首先右键UI文件(当然,你刚刚已经使用Compile form生成过一个文件了),这里再使用Generate...这个生成一个对话文件,我们姑且这么翻译,这个时候会弹出右边的对话框,我们填好上面的那些信息,勾选你要给哪些组件添加事件,点击ok,就又生成了一个新文件。
我们可以看到现在目录变成了上面的模样,不要问我他们为什么不在一个文件夹下,因为你一开始选择的路径就是不同的。现在我来说说他们的关系,ui文件和py文件没什么关系。。。但是我们第一次生成的窗口的描述文件和第二次生成的对话文件之间是有联系的!有联系的!联系的!重要的事情说三遍。。。实际操作中我们可以看到,第二次生成的文件中事件方法所在的类是继承了窗口描述文件中的类的。。。所以我们在这一次的实例化中,只需要初始化派生类的对象就可以了。。。这里不理解的去看类继承的知识。。。
所以这个时候我们想要让这个login窗口显示只需要在派生类下执行那些代码就好了,很容易理解吧?代码也贴上来
1 #-*- coding: utf-8 -*-
2
3 """
4 Module implementing Login.5 """
6 importsys7 from PyQt4.QtCore importpyqtSignature,QString8 from PyQt4.QtGui importQDialog9
10 from views.Ui_login importUi_login11 from PyQt4 importQtGui12 importClientClass13 importmainWindowEvent14
15 classLogin(QDialog, Ui_login):16 globalTEST17 """
18 Class documentation goes here.19 """
20
21 def __init__(self,parent=None):22 QDialog.__init__(self, parent)23 self.setupUi(self)24
25 @pyqtSignature("")26 defon_login_pushButton_clicked(self):27 pass
28
29 @pyqtSignature("")30 defon_register_pushButton_clicked(self):31 """
32 Slot documentation goes here.33 """
34 #TODO: not implemented yet
35 raiseNotImplementedError36
37 importsys38 from PyQt4 importQtGui39 defLoginController2(argv):40 app =QtGui.QApplication(argv)41 dlg =Login()42 dlg.show()43 sys.exit(app.exec_())44
45 if __name__ == 'main':46 LoginController(sys.argv)
login ui dailog Code
现在这两个事件就和我们窗口中的按钮们绑定在一起了,随便你在里面写什么,只要一点按钮,就会触发这个事件,执行这个方法里面的内容。。。
窗口的切换
好了,假装我们已经实现了登录的功能,在登录方法中进行了一系列操作,那么问题来了, 当我们登录成功之后,如何切换窗口呢?加入在本窗口中实例化ftp窗口的话,那么登录窗口关闭之后,ftp的窗口也会跟着关闭了,是不是很闹心,在这里纠结一天。。。不卖关子了,直接上代码:
就是这样,accept是关键。。。到现在为止,我们已经实现了窗口的切换。我的心在滴血,为什么没有人写教程。。。
窗口切换中的数据交换问题
刚刚我们已经实现了数据的交换,开篇我就说过,我要实现的是一个ftp程序,那么在输入了各种ip、端口、用户名和密码登录之后,这个连接已经建立起来了,在这个窗体中建立起来的对象要怎么传递给ftp这个新窗体呢?我尝试了很多种方法,比如将这个外部类实例化的对象变成这个类的一个字段,等等,均未果,但是在这里不得不说,全局变量很好用,很好用,很好用,但是直接定义一个变量是不好用的,因为直接定义一个变量,那么在它再次赋值的时候。
直接上代码。
就是这样!定义一个全局变量,分分钟解决问题。
这就是我的窗体程序开发初体验。。。当然还有一些控件的使用方法和事件的绑定。其实窗体开发还有很多可研究的地方,但是由于事件关系,我只研究了这么多。如果以后还有机会做相关的工作,我会继续更新哒~~~
-
开发 Python 应用程序 - NetBeans IDE 教程
2012-12-02 22:17:38本教程的目的是向您介绍在 NetBeans IDE 中使用 Python 编程语言的基础知识。这样,程序员就可以继续深入了解该语言的功能。NetBeans 添加了对多种 JVM 语言和非 JVM 语言的支持,从而为程序员开辟了新的编程途径,同时... -
【Python笔记】pyqt5窗体程序制作流程
2022-05-02 11:58:04pyqt5窗体程序设计实践,简述大致流程:包括环境设置、界面设计、程序运行和打包等 -
python窗体表格
2020-11-24 04:45:50前言上一节我们实现了明细窗体gui的搭建,并且设置了查看、修改、添加三种不同的状态,框架搭建好了,内容并没有填充,本节我们继续完善这个项目,将学生信息填充进明细窗体中。 一、填充当前学生信息1. 需求目前... -
C# 调用python脚本 编写 窗体程序
2020-12-04 13:15:021.前因前一阵有需求, 基于一个 python库 来 封装一个窗体应用程序,因为需求简单,所以仅需要用到字符输入和字符打印输出的交互即可,同时还需要import第三方库,所以没有使用 IronPython 方案, 而是直接使用 C#调用挂起... -
详解Python Qt的窗体开发的基本操作
2020-12-26 08:00:56本文章采用的是Qt4,是python(x,y) 套件中集成的,为啥不集成Qt5呢,懒得装啊:) 正文: 首先看成品: 这个程序的功能是输入原价和降价的百分比,计算出最后的价格。 设计器部分 然后就是开发阶段了,首先在Qt ... -
2-Python程序实例解析
2021-05-22 10:45:172.Python程序实例解析 1.实例1:温度转换 #TempConvert 温度转化 TempStr =input("请输入带有符号的温度数值:") if TempStr[-1] in ['F','f']: C=(eval(TempStr[0:-1])-32)/1.8 print("转化后的温度是{:.2f}C".... -
使用python tkinter做window窗体界面程序,以及python多线程处理解决tk界面卡死
2021-01-21 10:51:24使用python Tk做窗体应用程序,以及python多线程处理 首先先建一个TkinterUI.py 文件 插入如下代码(有些方法是未用到的,个人没有删代码的习惯,后面说不定留着有用) import os import threading import tkinter ... -
python窗口程序-窗口程序python
2020-11-01 13:14:20让 gui 程序启动和运行起来需要以下 5 个主要步骤:导入 tkinter 模块(python3.x版本); 创建一个顶层窗口对象,用于容纳整个 gui 应用; 在顶层窗口对象之上(或者“其中”)构建所有的 gui 组件(及其功能); ... -
python写窗口
2020-11-30 09:55:21最近在学习 pyqt5 gui 编程,大致路线是找了套网课《撩课-python-gui编程-pyqt5》,以梳理思维导图的形式梳理了下基础知识点以及 qtdesigner 应用流程,跳过各种具体控件的细节,结合课程中具体的综合案例来进行具体... -
python_tkinter多窗口(窗体)编程示例
2022-03-11 15:04:29python_tkinter多窗口编程示例 -
python交互界面的退出方法
2020-12-26 10:33:49您可能感兴趣的文章:python实现文本界面网络聊天室python tkinter界面居中显示的方法python编辑用户登入界面的实现代码python Spyder界面无法打开的解决方法Python学习之Django的管理界面代码示例p -
Python实例之wxpython中Frame使用方法
2020-12-25 17:39:17本节为大家分享的例子是wxpython Frame的用法。.../usr/bin/python告诉程序 python 解释器的路径,只是在 linux 系统下有用,在 Windows 下写上这行代码不起作用,但是也没问题# -*- coding: GBK -*-告诉 py -
python学习笔记 实例2 蟒蛇绘制
2020-12-22 05:18:38(3)海龟由程序控制,可以改变长短,颜色,行进方向等等。 2,turtle的绘图窗体 (1)turtle的一个画布空间 (2)最小单位是像素 3,turtle角度坐标系 (1)seth()改变海龟的行进方向 (2)angle为绝对度数 (3)... -
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020-11-20 18:47:47在MainUi()类的init_ui()方法中,使用如下代码实例化创建按钮: self.left_close = QtWidgets.QPushButton("") # 关闭按钮 self.left_visit = QtWidgets.QPushButton("") # 空白按钮 self.left_mini = QtWidgets.... -
python交互界面实例_Python面向对象编程扑克牌发牌程序,另含大量Python代码!
2020-11-20 12:01:461. 题目编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌。很多人学习python,不知道从何学起。很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。很... -
python实现的简单窗口倒计时界面实例
2020-11-22 21:32:50本文实例讲述了python实现的简单窗口倒计时界面。分享给大家供大家参考。具体分析如下:下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行# Countdown using Tkinter... -
python程序实例解析-第二章--Python程序实例解析
2020-10-30 23:22:02-长度一致:程序内一致即可,一般用4个空格或1个TAB 2 )分行 -- 通常 分行是语句间不同逻辑的层次手段 物理行 -- 在编写程序过程中编辑器所能显示的空间长度 逻辑行 -- Python识别的单个语句 Python假定每个物理行... -
Python3 TK窗体 笔记本小例子
2020-12-04 08:35:40# -*- coding: utf-8 -*-from tkinter import *import tkinter.messagebox as messageboximport tkinter.filedialog as filedialogimport osfilename = ""def author():messagebox.showinfo("作者信息","本软件由**... -
Python程序实例解析.pdf
2020-12-22 18:51:24Python程序实例解析.pdf (48页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!4.89 积分Python语言程序设计 北京理工大学 嵩天 第2章 Python程序实例解析 温度转换程序... -
Python写的Tkinter程序屏幕居中方法
2021-01-20 04:55:28本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。 这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没 找到答案,最后没办法,看它的文档,用自己的方法实现了。 ... -
Python中实例化class的执行顺序示例详解
2020-11-22 20:01:34前言本文主要介绍了关于Python实例化class的执行顺序的相关内容,下面话不多说了,来一起看看详细的介绍吧Python里对类的实例化时有怎样的顺序一般来说一个类里面有类变量和方法,比如我们定义一个名为A的类class A... -
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020-09-17 18:39:27主要介绍了python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python 窗口程序模板
2019-07-14 11:23:55python 窗口程序模板,实现窗口展示,按钮设置,文本读取,事件触发 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:hcx import tkinter as tk # 使用Tkinter前需要先导入 import time # 第1步,实例...