# -*- 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)的更多相关文章

  1. PyQt5学习笔记-从主窗体打开一个子窗体

    PyQt5学习笔记-从主窗体打开一个子窗体 软件环境: Eric6+Python3.5+PyQt5 试验目标: 1.点击菜单项Open,打开一个子窗体 2.点击按钮Open,打开一个子窗体 主窗体设计 ...

  2. Pyqt5学习笔记(一)

    Python已有的GUI框架: Tkinter(python内嵌的GUI环境,使用TCL实现,易学易用,方便简单创GUI自带无需安装,适用于Unix.Windows和Mac系统组,在Tk8.0的后续版 ...

  3. PyQt5学习笔记----标准文件打开保存框QFileDialog

    单个文件打开 QFileDialog.getOpenFileName()多个文件打开 QFileDialog.getOpenFileNames() 文件夹选取     QFileDialog.getE ...

  4. PYQT5学习笔记之各模块介绍

    Qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类 Qtwidegts下还有以下常用对象,所以一般使用Qtwidegts时会使用面向对象式编程 QApplication: ap ...

  5. PyQt5学习笔记14----初识pyqt多线程操作

    转载:翻滚吧挨踢男 首先来看一个例子: # coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQt5.Q ...

  6. Python pyQt4/PyQt5 学习笔记4(事件和信号)

    信号 & 槽 import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import (QWidget,QLCDNumber,QS ...

  7. Python pyQt4/PyQt5 学习笔记3(绝对对位,盒布局,网格布局)

    本节研究布局管理的内容. (一)绝对对位  import sys from PyQt4 import QtGui class Example(QtGui.QWidget): def __init__( ...

  8. Python pyQt4/pyQt5 学习笔记2(状态栏、菜单栏和工具栏)

    例子:状态栏.菜单栏和工具栏 import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(sel ...

  9. Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)

    PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流 ...

  10. PyQt5学习笔记

    setMouseTracking bool mouseTracking这个属性保存的是窗口部件跟踪鼠标是否生效.如果鼠标跟踪失效(默认),当鼠标被移动的时候只有在至少一个鼠标按键被按下时,这个窗口部件 ...

随机推荐

  1. Element can be click when out of view

    WebDriver can't action the element when out of view Webdriver can't action the element when the elem ...

  2. MySQL DELETE 表别名问题

  3. 【CITE】C# 如何 实现一个窗体和另一个窗体始终保持相对的位置

    C# 如何 实现一个窗体和另一个窗体始终保持相对的位置,任由一个窗体移动,当点击按钮时,弹出的另一个窗体也与之保持相对位置(如左上角)你根据第一个窗体的location去算第二个窗体的location ...

  4. 发布完ArcGIS地图服务后,服务未启动成功

    今天下午更新地图服务后,服务未启动成功.出来的弹出框警告问题目前应该是ArcGIS Server出了问题,打开ArcCatalog目录,查看GIS服务器下localhost下的服务,只要是今天发布的服 ...

  5. ubuntu下python3安装scrapy,OpenSSL

    环境:ubuntu 16.04  ,  python3.5.1+ 安装顺序如下: sudo apt-get install build-essential sudo apt-get install p ...

  6. NetworkShareAccesser: 远程PC1 文件 copy 到PC2 文件夹

    Usage: string strRepoBundlePath = @"\\at1-repo01\ATE\Bundles\SharePoint\Open\denyopen.zip" ...

  7. 第二周 WBS、NABCD查阅

    WBS WBS:工作分解结构(Work Breakdown Structure) 创建WBS:创建WBS是把项目可交付成果和项目工作分解成较小的,更易于管理的组成部分的过程. WBS是项目管理重要的专 ...

  8. HDUOJ---1236 排名(浙大考研题)

    排名 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  9. jQuery 2.0.3 源码分析 Deferrred概念

    转载http://www.cnblogs.com/aaronjs/p/3348569.html JavaScript编程几乎总是伴随着异步操作,传统的异步操作会在操作完成之后,使用回调函数传回结果,而 ...

  10. Android开发--Activity的创建

    1.Activity概述 Activity是android四大基本组件之一.每一个activity文件对应一个界面,一个程序由多个activity组成. 2.Android工作目录