气轻PyQt5 11控件互动与槽函数(有参数)
和【气轻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_())
