跳至正文
View Categories

< 1 min read

    主要内容 #

  1. QPushButton复合实践

完成效果 #

完成本节课程,能学会在窗口应用程序上新增按钮,并且当按下按钮时,按钮的名称在QLineEdit上显示。
效果如下:

收获 #

学习完本节内容,我们会了解QPushButton的复合实践具体步骤,实现控件间的信息传递等进阶操作。

1.QPushButton复合实践 #

在本复合实践中,需要在窗口应用程序中添加按钮,并通过信号槽机制实现当按下按钮时,按钮的名称在QLineEdit上显示
以下是代码实现示例:

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QLineEdit, QLabel

class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()


    def initUI(self):  
        self.edit = QLineEdit("输入框", self)  # 定义一个编辑框控件
        self.edit.move(50, 100)  # 移动编辑框到窗口坐标(100, 100)    
        self.button = QPushButton('Dashima',self)  # 创建一个按钮并添加文本
        self.button.move(50,50)  # 移动位置
        # 点击鼠标点击按钮时触发clicked信号,并该信号连接到槽函数showText
        self.button.clicked.connect(self.showText)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('QPushButton复合实践')
        self.show()


    def showText(self):  # 槽函数
        self.edit.setText(self.button.text())  # 将按钮上的文本显示到编辑框上

app = QApplication(sys.argv)    # 创建应用程序
ex = Example()  # 创建窗口对象
sys.exit(app.exec_())   # 设置关闭窗口后结束进程

拓展练习:
1、制作3个按钮(QPushButton),每个按钮实现如下功能:
当点击按钮1时,显示turtle画正方形的图形
当点击按钮2时,显示turtle画三角形的图形
当点击按钮3时,显示turtle画圆形的图形
2、在练习1的基础上再添加一个按钮,点击改按钮时,显示turtle画风车的图形(风车代码请参考第二期第040课)

小结 #

  • 学习了如何添加按钮控件。
  • 学习了如何将按钮控件的信号关联到槽函数,然后槽函数进行处理。
  • 习题 #

    1. 习题1:类似地,将QLineEdit改为QLabel,点击按钮时显示按钮文本在QLabel上。