【PyQt5】学习笔记(1)
# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets,QtCore #从pyqt库导入QtWindget通用窗口类
from formnew import Ui_Form class mywindow(QtWidgets.QWidget,Ui_Form): #自己建的类,继承QtWidgets.Qwidget类方法和Ui_Form界面类 _signal = QtCore.pyqtSignal(str) #定义信号,定义参数类型为str def __init__(self):
super(mywindow,self).__init__() #首先找到子类(mywindow)的父类(QWidget),然后把my的对象self转成QWidget的对象,然后被转化的self调用自己的init函数
self.setupUi(self) #直接继承界面类,调用类的setupUi方法 self.pushButton_2.clicked.connect(self.myPrint) #连接自己的槽函数
self._signal.connect(self.mySignal) #将信号连接到函数mySignal def myPrint(self): #自定义的槽函数。槽其实就是个函数(方法)
self.textBrowser.setText("")
self.textBrowser.append("我是槽函数")
self._signal.emit("发射信号,传递字符串") def mySignal(self,string): #自定义信号函数
self.textBrowser.append(string) #接受到字符串,打印出来
self.textBrowser.append("我是信号函数") if __name__=="__main__":
import sys app=QtWidgets.QApplication(sys.argv) #pyqt窗口必须在QApplication方法中使用
myshow=mywindow() #生成mywindow类的实例 myshow
myshow.show() #myshow调用show方法
sys.exit(app.exec()) #消息结束的时候,结束进程,并返回0,接着调用sys.exit(0)退出程序
上面这个是index.py
从qtdesigner直接生成的代码:
__author__ = 'yangyang5'
from PyQt5 import QtCore, QtGui, QtWidgets #导入模块
class Ui_Form(object): #创建窗口类,继承object
def setupUi(self, Form):
Form.setObjectName("Form") #设置窗口名
Form.resize(400, 300) #设置窗口大小
self.pushButton = QtWidgets.QPushButton(Form) #新建按钮,并加入到窗口中
self.pushButton.setGeometry(QtCore.QRect(270, 240, 75, 23)) #设置按钮的大小和位置
self.pushButton.setObjectName("pushButton") #设置按钮名
self.textBrowser = QtWidgets.QTextBrowser(Form)
self.textBrowser.setGeometry(QtCore.QRect(60, 20, 256, 192))
self.textBrowser.setObjectName("textBrowser")
self.pushButton_2 = QtWidgets.QPushButton(Form)
self.pushButton_2.setGeometry(QtCore.QRect(40, 240, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.retranslateUi(Form)
self.pushButton.clicked.connect(Form.close) #点击按钮,关闭窗体
QtCore.QMetaObject.connectSlotsByName(Form) #关联信号槽
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form")) #设置窗口标题
self.pushButton.setText(_translate("Form", "Quit")) #设置按钮名
self.pushButton_2.setText(_translate("Form", "Print"))
使用环境:
Python3.4 + Pyqt5第三方库
相关资料:
http://blog.csdn.net/a359680405/article/details/45096185
【PyQt5】学习笔记(1)的更多相关文章
- PyQt5学习笔记-从主窗体打开一个子窗体
PyQt5学习笔记-从主窗体打开一个子窗体 软件环境: Eric6+Python3.5+PyQt5 试验目标: 1.点击菜单项Open,打开一个子窗体 2.点击按钮Open,打开一个子窗体 主窗体设计 ...
- Pyqt5学习笔记(一)
Python已有的GUI框架: Tkinter(python内嵌的GUI环境,使用TCL实现,易学易用,方便简单创GUI自带无需安装,适用于Unix.Windows和Mac系统组,在Tk8.0的后续版 ...
- PyQt5学习笔记----标准文件打开保存框QFileDialog
单个文件打开 QFileDialog.getOpenFileName()多个文件打开 QFileDialog.getOpenFileNames() 文件夹选取 QFileDialog.getE ...
- PYQT5学习笔记之各模块介绍
Qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类 Qtwidegts下还有以下常用对象,所以一般使用Qtwidegts时会使用面向对象式编程 QApplication: ap ...
- PyQt5学习笔记14----初识pyqt多线程操作
转载:翻滚吧挨踢男 首先来看一个例子: # coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQt5.Q ...
- Python pyQt4/PyQt5 学习笔记4(事件和信号)
信号 & 槽 import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import (QWidget,QLCDNumber,QS ...
- Python pyQt4/PyQt5 学习笔记3(绝对对位,盒布局,网格布局)
本节研究布局管理的内容. (一)绝对对位 import sys from PyQt4 import QtGui class Example(QtGui.QWidget): def __init__( ...
- Python pyQt4/pyQt5 学习笔记2(状态栏、菜单栏和工具栏)
例子:状态栏.菜单栏和工具栏 import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(sel ...
- Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)
PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流 ...
- PyQt5学习笔记
setMouseTracking bool mouseTracking这个属性保存的是窗口部件跟踪鼠标是否生效.如果鼠标跟踪失效(默认),当鼠标被移动的时候只有在至少一个鼠标按键被按下时,这个窗口部件 ...
随机推荐
- Python装饰模式实现源码分享
1.一般来说,通过继承可以获得父类的属性,还可以通过重载修改其方法. 2.装饰模式可以不以继承的方式而动态地修改类的方法. 3.装饰模式可以不以继承的方式而返回一个被修改的类. 4.基本实现 程序演示 ...
- 项目解析- JspLibrary - part2
banner.jsp 验证用户是否登录 <%String manager=(String)session.getAttribute("manager"); //验证用户是否登 ...
- 花生壳+Tomcat
花生壳(内网穿透)新手上路 http://service.oray.com/question/1664.html 好不容易找到一篇关于“花生壳+Tomcat”的好文章,转一下,上次自己弄的时候把自己的 ...
- Date的那一大堆事儿--1
String perfTimeStr = "";// 统一设置日历格式 Calendar calendar = Calendar.getInstance(); calendar.s ...
- js的with语句使用方法
1)简要说明 with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性.要给对象创建新的属性,必须明确地引用该对象. 2)语法格式 with(object ...
- Azure平台 对Twitter 推文关键字进行实时大数据分析
Learn how to do real-time sentiment analysis of big data using HBase in an HDInsight (Hadoop) cluste ...
- var isObj = length === undefined || i
这个其实是因为你前面那个===是肯定为false导致的,所以执行到了i那一步了var length=undefined;var a=length===undefined || i;这样你不定义i也是不 ...
- python中Url链接编码处理(urlencode,urldecode)
做完了flask-web应用,这几天想用爬虫做个好玩的电影链接整合器,平时找电影都是在dytt或者dy2018之类的网站,在用dytt搜索电影<美国队长时>,发现他的搜索链接是这样的:ht ...
- eclipse 下面的folder,source folder,package的区别与作用
首先明确一点,folder,source folder,package都是文件夹,既然是文件夹,那么任何的文件都可以往这三种文件夹下面的放.1.他们的区别folder就是普通的文件夹,它和我们wind ...
- java中将一个字符数组赋值给另一个,两者同时变化
java中将一个字符数组赋值给另一个,两者的变化怎么是同步的?怎么才能让他们独立开? 比如有一个int[][] a 已经存在值,现在定义int[][] b=a;之后改变a的值,为何b也跟着改变?怎么才 ...