• 大爽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

  • 相关阅读:
    2011年03月28日
    如何响应UIScrollView的touchesBegan和touchesEnd消息
    使用Git在Mac和Windows系统之间进行同步数据
    ActionScript 3.0 编程 中文版PDF下载地址
    WIN7 英文 语言包(KB972813)/多国语言包下载(转)
    如何根据内容和字体调整UILabel的大小
    xcode 快捷键(转)
    VMware, Win7, Mac系统之间使用Git版本控制器的解决方案
    iOS 开发教程资源列表(转载)
    取消UITableViewCell高亮颜色
  • 原文地址:https://www.cnblogs.com/BigShuang/p/15564157.html
Copyright © 2020-2023  润新知