zoukankan      html  css  js  c++  java
  • 大爽pyqt5笔记&教程 一 基础窗口与控件 按钮点击

    作者自我介绍:大爽歌, b站小UP主
    python1对1辅导老师
    时常直播编程,直播时免费回答简单问题。

    0 安装

    一般可使用

    pip3 install PyQt5
    

    安装中下载太慢导致失败则使用

    pip3 install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    1 基础窗口

    from PyQt5.QtWidgets import *
    
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    window.show()
    
    sys.exit(app.exec_())
    

    这会建立一个这样的基础窗口

    上面的代码中,
    window是我们的主窗口对象,是PyQt5.QtWidgets.QWidget类的实例。
    有如下常见方法:

    window.resize(100, 100)  # 设置窗口尺寸
    window.move(300, 300)  # 设置窗口位置
    window.setGeometry(300, 300, 300, 220)  # 定位且设置尺寸
    window.setWindowTitle('Simple')  # 设置窗口标题
    

    最后一句,让程序可以维持下去。
    sys.exit(app.exec_())app.exec_()都可以实现功能。

    但是sys.exit(app.exec_())更好,在关闭窗口时还能告诉程序关闭成功与否。

    2 添加控件

    添加文本标签

    添加新的标签空间(指定文本,上级窗口)

    label = QLabel("Text", window)
    

    把控件放置在指定位置

    label.move(20, 40)
    

    Qlabel对象后面还可以使用set_text()方法来设置文本。

    添加按钮

    操作和添加文本标签差不多

    button = QPushButton('Button', window)
    button.move(100, 20)
    

    按钮的点击生效,一般要通过事件来实现。
    具体后面部分再展开。

    添加图片标签

    图片'my_logo.png'如下

    from PyQt5.QtGui import QPixmap
    
    img_label = QLabel(window)
    pixmap = QPixmap('my_logo.png')
    img_label.setPixmap(pixmap)
    img_label.move(20, 50)
    

    总代码与效果

    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import QPixmap
    
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    window.resize(300, 200)
    
    label = QLabel("Text", window)
    label.move(40, 20)
    
    button = QPushButton('Button', window)
    button.move(100, 20)
    
    img_label = QLabel(window)
    pixmap = QPixmap('my_logo.png')
    img_label.setPixmap(pixmap)
    img_label.move(20, 50)
    
    window.show()
    
    sys.exit(app.exec_())
    

    效果如图

    更多控件

    更多控件,推荐文档

    3 按钮点击事件

    按钮添加点击事件语法如下
    button.clicked.connect(click_func)

    其中button是按钮。
    click_func是点击后要执行的函数名。

    代码示例

    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import QPixmap
    
    import sys
    
    app = QApplication(sys.argv)
    
    window = QWidget()
    window.resize(300, 200)
    
    label = QLabel("Label Text", window)
    label.move(40, 20)
    
    button = QPushButton('Button', window)
    button.move(150, 20)
    
    img_label = QLabel(window)
    pixmap = QPixmap('my_logo.png')
    img_label.setPixmap(pixmap)
    img_label.move(20, 50)
    
    window.show()
    
    def click_func1():
        label.setText("Clicked")
    
    button.clicked.connect(click_func1)
    
    sys.exit(app.exec_())
    

    其中

    def click_func1():
        label.setText("Clicked")
    
    button.clicked.connect(click_func1)
    

    就是定义事件方法,并绑定按钮。

    点击按钮之后,label标签的文本就会变为Clicked

  • 相关阅读:
    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps Office新的App模型
    android Notification 的使用(锁定通知栏)
    Android中经常使用的工具类02
    【python系列】python画报表(Chartkick、Flask)(附中文乱码解决方式)
    Nginx 笔记与总结(14)expires 缓存设置
    数据分析师、数据科学家常见的77个面试问题
    数据分析师、数据科学家常见的77个面试问题
    常见数据分析方法汇总
    常见数据分析方法汇总
    机器学习、数据挖掘、人工智能、统计模型这么多概念有何差异
  • 原文地址:https://www.cnblogs.com/BigShuang/p/15564157.html
Copyright © 2011-2022 走看看