氣輕PyQt5 10 控件互動(dòng)與槽函數(shù)(無(wú)參數(shù))
?
和之前的控件互動(dòng)是一樣的,只是這里是通過槽函數(shù)實(shí)現(xiàn)的。點(diǎn)擊按鈕后,可以將文本框中的文字設(shè)置到標(biāo)簽中去。另外,在文本框中輸入回車時(shí)也能夠進(jìn)行同樣操作。
?
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QFont, QIcon, QPixmap
from PyQt5.QtCore import Qt, pyqtSignal
import sys
?
class PyQt510(QWidget):
??? signal = pyqtSignal(? )???????????????????????????? #定義一個(gè)信號(hào)
??? def __init__(self):
??????? super().__init__()
?
??????? self.initUI()
??? def initUI(self):
??????? self.setWindowTitle('氣輕PyQt5')?????????? ?????# 設(shè)置窗口標(biāo)題
??????? self.resize(420, 60)??????????????????????????? # 設(shè)置窗口大小
?
??????? self.signal.connect(self.updateLabel)?????????? # 連接信號(hào)與槽
?
??????? self.edit = QLineEdit(self)???????????????????? # 輸入框
??????? self.edit.setGeometry(10, 0,240, 40)??? ????????# 設(shè)置位置和大小
??????? self.edit.setText('槽函數(shù)(無(wú)參數(shù))')
??????? 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'???????????????????????? # 按鈕圖標(biāo)
??????? self.btn = QPushButton('', self)
??????? self.btn.setGeometry(250,0,40,40)?????????????? # 設(shè)置位置和大小
??????? self.btn.setIcon(QIcon(QPixmap(img)))
??????? self.btn.clicked.connect(self.updateLabel)
?
??????? self.tag = QLabel(self)???????????????????????? # 設(shè)置label信息
??????? self.tag.setGeometry(290, 0,120, 40)??????????? # 設(shè)置位置和大小
??????? self.tag.setText('標(biāo)簽')
??????? self.tag.setToolTip('標(biāo)簽提示')??????????? ?????# 設(shè)置標(biāo)簽提示
??????? self.tag.setAlignment(Qt.AlignCenter)?????????? # 居中設(shè)置
??????????????????????????????????????????????????????? # 背景和前景顏色
??????? self.tag.setStyleSheet('background-color:yellow;color : #6495ED; \
??????????????????? font: bold italic large /"Times New Roman/";font-size:25px')
?
??????? self.show()
?
??? def updateLabel(self):
??????? t = self.edit.text()
??????? self.tag.setText(t)
?
if __name__ == '__main__':
??? app = QApplication(sys.argv)
??? window = PyQt510()
??? sys.exit(app.exec_())
?
執(zhí)行結(jié)果
