pyqt5零基础入门

第一个程序: 

# -*- coding: utf-8 -*-
"""第一个程序"""
import sys
from PyQt5 import QtWidgets,QtGui#模块包含的类提供了一套UI元素来创建经典桌面风格用户界面。QtGui:模块包含的类用于窗口化的系统结构,事件处理,2D绘图,基本图形,字体和文本。

app = QtWidgets.QApplication(sys.argv)
first_window = QtWidgets.QWidget()#将这个函数换个名字,可以更加清楚的理解这个函数的意思
first_window.resize(400,300)#长400,宽300
first_window.setWindowTitle("我的第一个程序")#程序标题,显示这个标题
first_window.show()#显示这个窗口
sys.exit(app.exec_())

第二个程序: 

# -*- coding: utf-8 -*-
"""设置图标"""
import sys
from PyQt5 import QtWidgets, QtGui # Qwidget组件是PyQt5中所有用户界面类的基础类


class Icon(QtWidgets.QWidget):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)

        self.setGeometry(300, 300, 250, 150)#前面两个参数是坐标,后面两个参数是长宽
        self.setWindowTitle("图标")# 设置了我们窗口的标题
        self.setWindowIcon(QtGui.QIcon(r'sample.ico'))# 本地有个sample.ico文件


app = QtWidgets.QApplication(sys.argv)
icon = Icon()#将函数赋给icon
icon.show()#显示icon
sys.exit(app.exec_())

 第三个程序:

# -*- coding: utf-8 -*-
"""用按钮关闭程序"""
import sys
from PyQt5 import QtWidgets, QtCore, QtGui#导入第一个就能用了,不知道为啥要带入三个


class QuitButton(QtWidgets.QWidget):#创建一个了类,
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.setGeometry(300, 300, 250, 150)#前两个参数是坐标,后两个参数是大小
        self.setWindowTitle("我的关闭程序")#标题
        quit_button = QtWidgets.QPushButton("关闭", self)
        quit_button.setGeometry(60, 60, 60, 35)#按钮位置和大小

        quit_button.clicked.connect(QtWidgets.qApp.quit)#信号和槽连接


app = QtWidgets.QApplication(sys.argv)
quitbutton = QuitButton()#将函数换个名字更容易记忆
quitbutton.show()#显示函数
sys.exit(app.exec_())

第5个程序:

# -*- coding: utf-8 -*-
"""用按钮关闭程序"""
import sys
from PyQt5 import QtWidgets, QtCore, QtGui#还是那句话后面这两个模块根本没用为什么要加上


class MessageBox(QtWidgets.QWidget):#定义一个类
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.setGeometry(300, 300, 250, 150)#前面显示窗口的坐标,后面显示窗口大小
        self.setWindowTitle("消息窗口演示程序")

    def closeEvent(self, event):#定义一个类
        reply = QtWidgets.QMessageBox.question(self, '确认退出?', '你确定要退出吗?',
                                               QtWidgets.QMessageBox.Yes,
                                               QtWidgets.QMessageBox.No)
        if reply == QtWidgets.QMessageBox.Yes:
            event.accept()#接受
        else:
            event.ignore()#忽视


app = QtWidgets.QApplication(sys.argv)
qb = MessageBox()
qb.show()
sys.exit(app.e

第六个程序:

# -*- coding: utf-8 -*-
"""信号槽示例"""

import sys
from PyQt5 import QtWidgets, QtCore


class SignalSlot(QtWidgets.QWidget):
    def __init__(self):
        super(SignalSlot, self).__init__()

        self.setWindowTitle("信号槽演示程序")
        self.resize(250, 150)#设置大小

        lcd = QtWidgets.QLCDNumber(self)#QLCDNumber控件用于显示一个带有类似液晶显示屏效果的数字。
        slider = QtWidgets.QSlider(QtCore.Qt.Horizontal, self)#QSlider控件提供了一个垂直或者水平的滑动条,

        v_box = QtWidgets.QVBoxLayout()#垂直布局管理器QVBoxLayout
        v_box.addWidget(lcd)#lcd
        v_box.addWidget(slider)#滑块

        self.setLayout(v_box)
        slider.valueChanged.connect(lcd.display)
        # 我们将滑块的valueChanged信号连接到lcd的display槽函数上
        # emit.signal.connect(accept.slot)


app = QtWidgets.QApplication(sys.argv)
qb = SignalSlot()
qb.show()
sys.exit(app.exec_())

第七个程序:

# -*- coding: utf-8 -*-
"""用esc键退出示例"""

import sys
from PyQt5 import QtWidgets, QtCore


class Escape(QtWidgets.QWidget):
    def __init__(self):
        super(Escape, self).__init__()

        self.setWindowTitle("用esc键退出示例")
        self.resize(250, 150)

    def keyPressEvent(self, event):
        if event.key() == QtCore.QT.Key_Escape:#如果按下了esc则
            self.close()
            # keypressevent事件处理方法


app = QtWidgets.QApplication(sys.argv)
escape = Escape()
escape.show()
sys.exit(app.exec_())
# 当我们按下esc键,程序就会结束。

  第八个程序:

# -*- coding: utf-8 -*-
"""发射信号示例"""

import sys
from PyQt5 import QtWidgets, QtCore


class EmitSignal(QtWidgets.QWidget):
    closeEmitApp = QtCore.pyqtSignal()

    # 我们常见一个叫做closeEmitApp()的新信号。在鼠标按下时产生。

    def __init__(self):
        super(EmitSignal, self).__init__()

        self.setWindowTitle("发射信号演示程序")
        self.resize(250, 150)

        self.closeEmitApp.connect(self.close)

    # 吧自定义的信号closeEmitApp()与槽函数close()连接起来

    def mousePressEvent(self, QMouseEvent):
        self.closeEmitApp.emit()
        # 通过信号变量的emit()方法来发射一个信号


app = QtWidgets.QApplication(sys.argv)
es = EmitSignal()
es.show()
sys.exit(app.exec_())

第九个程序:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值