欢迎光临散文网 会员登陆 & 注册

气轻PyQt5 11控件互动与槽函数(有参数)

2023-03-03 07:02 作者:气轻  | 我要投稿

 

和【气轻PyQt5 10】的不同是,这里采用有参数的槽函数来处理从文本框和标签的互动。

 

from PyQt5.QtWidgets import *

from PyQt5.QtGui import QFont, QIcon, QPixmap

from PyQt5.QtCore import Qt, pyqtSignal

import sys

 

class PyQt511(QWidget):

    signal = pyqtSignal(  )                             #定义一个信号

    def __init__(self):

        super().__init__()

 

        self.initUI()

    def initUI(self):

        self.setWindowTitle('气轻PyQt5')                # 设置窗口标题

        self.resize(470, 60)                            # 设置窗口大小

 

        self.signal.connect(self.updateLabel)           # 连接信号与槽

 

        self.edit = QLineEdit(self)                     # 输入框

        self.edit.setGeometry(10, 0,240, 40)            # 设置位置和大小

        self.edit.setText('槽函数(有参数)')

        self.edit.setStyleSheet('background-color:#FFE4B5;color : #32CD32; \

                    font: bold italic large /"Times New Roman/";font-size:25px')

        self.edit.returnPressed.connect(self.updateLabel)

 

        img = 'arrowsright.png'                         # 按钮图标

        self.btn = QPushButton('', self)

        self.btn.setGeometry(250,0,40,40)               # 设置位置和大小

        self.btn.setStyleSheet('background-color:#96CDCD;color : #FFE4C4; \

                    font: bold large /"SimSun/";font-size:16px')

        self.btn.setIcon(QIcon(QPixmap(img)))

        self.btn.clicked.connect(self.updateLabel)

 

        self.tag = QLabel(self)                         # 设置label信息

        self.tag.setGeometry(290, 0,160, 40)            # 设置位置和大小

        self.tag.setText('标签')

        self.tag.setToolTip('标签提示')                 # 设置标签提示

        self.tag.setAlignment(Qt.AlignCenter)           # 居中设置

                                                        # 背景和前景颜色

        self.tag.setStyleSheet('background-color:yellow;color : #6495ED; \

                    font: bold italic large /"Times New Roman/";font-size:25px')

 

        self.show()

 

    def buttonClicked(self):

        edittext = self.edit.text()

        self.signal.emit(edittext)                      # 发射信号

 

    def updateLabel(self):

        t = self.edit.text()

        self.tag.setText(t)

 

if __name__ == '__main__':

    app = QApplication(sys.argv)

    window = PyQt511()

    sys.exit(app.exec_())

 



气轻PyQt5 11控件互动与槽函数(有参数)的评论 (共 条)

分享到微博请遵守国家法律