中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pyqt5 之 信號+槽 測試用例

發布時間:2020-07-12 10:39:16 來源:網絡 閱讀:206 作者:余偉兵 欄目:編程語言


????在使用pycharm進行編寫代碼的時候,發現信號設置了connect一個槽,但是測試發現沒有起作用,另外,在pycharm編輯器上connect提示沒有這個函數,總是找不到原因,后面決定還是對碰到相應的知識點需要做對應的測試用例進行學習和驗證。

????下面這個是對信號+槽的一個典型實例。可以正常按預期運行,在pycharm中connect也顯示沒有這個函數,應該就是pycharm本身設置和提示的問題,后面忽略它。所以有時候也不能鉆牛角尖,pycharm也僅僅是個編輯器而已。


#-*-?coding:utf-8?-*-
'''
Signal?&?Slot
'''
__author__?=?'Tony?Zhu'

import?sys
from?PyQt5.QtCore?import?Qt
from?PyQt5.QtWidgets?import?(QWidget,?QLCDNumber,?QSlider,QGridLayout,QLabel,QHBoxLayout,?QGroupBox,
????QVBoxLayout,?QApplication,QProgressBar,QPushButton,QMessageBox)


class?SignalSlot(QWidget):

????def?__init__(self):
????????super(SignalSlot,self).__init__()
????????self.initUI()


????def?initUI(self):

????????self.controlsGroup?=?QGroupBox("運行樣本")
????????self.lcdNumber?=?QLCDNumber(self)
????????self.slider?=?QSlider(Qt.Horizontal,?self)
????????self.pBar?=?QProgressBar(self)
????????vbox?=?QVBoxLayout()
????????vbox.addWidget(self.pBar)
????????vbox.addWidget(self.lcdNumber)
????????vbox.addWidget(self.slider)
????????self.controlsGroup.setLayout(vbox)

????????controlsLayout?=?QGridLayout()
????????self.label1?=?QLabel("保存狀態:")
????????self.saveLabel?=?QLabel()
????????self.label2?=?QLabel("運行狀態:")
????????self.runLabel?=?QLabel()
????????self.buttonSave?=?QPushButton("保存")
????????self.buttonRun?=?QPushButton("運行")
????????self.buttonStop?=?QPushButton("停止")
????????self.buttonDisconnect?=?QPushButton("解除關聯")
????????self.buttonConnect?=?QPushButton("綁定關聯")

????????controlsLayout.addWidget(self.label1,0,0)
????????controlsLayout.addWidget(self.saveLabel,0,1)
????????controlsLayout.addWidget(self.label2,1,0)
????????controlsLayout.addWidget(self.runLabel,1,1)
????????controlsLayout.addWidget(self.buttonSave,2,0)
????????controlsLayout.addWidget(self.buttonRun,2,1)
????????controlsLayout.addWidget(self.buttonStop,2,2)
????????controlsLayout.addWidget(self.buttonDisconnect,3,0)
????????controlsLayout.addWidget(self.buttonConnect,3,1)

????????layout?=?QHBoxLayout()
????????layout.addWidget(self.controlsGroup)
????????layout.addLayout(controlsLayout)
????????self.setLayout(layout)

????????self.buttonRun.clicked.connect(self.buttonSave.clicked)
????????self.slider.valueChanged.connect(self.pBar.setValue)
????????self.slider.valueChanged.connect(self.lcdNumber.display)
????????self.buttonSave.clicked.connect(self.showMessage)
????????self.buttonRun.clicked.connect(self.showMessage)
????????self.buttonDisconnect.clicked.connect(self.unbindConnection)
????????self.buttonConnect.clicked.connect(self.bindConnection)
????????self.buttonStop.clicked.connect(self.stop)

????????self.setGeometry(300,?500,?500,?180)
????????self.setWindowTitle('信號和槽')

????def?showMessage(self):
????????if?self.sender().text()?==?"保存":
????????????self.saveLabel.setText("Saved")
????????elif?self.sender().text()?==?"運行":
????????????self.saveLabel.setText("Saved")
????????????self.runLabel.setText("Running")

????def?unbindConnection(self):
????????self.slider.valueChanged.disconnect()
????def?bindConnection(self):
????????self.slider.valueChanged.connect(self.pBar.setValue)
????????self.slider.valueChanged.connect(self.lcdNumber.display)
????def?stop(self):
????????self.saveLabel.setText("")
????????self.runLabel.setText("")

if?__name__?==?'__main__':

????app?=?QApplication(sys.argv)
????ex?=?SignalSlot()
????ex.show()
????sys.exit(app.exec_())


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永登县| 青铜峡市| 屯门区| 泰宁县| 潜山县| 阳东县| 灵武市| 怀柔区| 白河县| 通河县| 嵩明县| 新乡市| 巴林右旗| 弥勒县| 合江县| 石河子市| 温州市| 维西| 扬中市| 延川县| 宁蒗| 惠安县| 潮州市| 宜城市| 麻城市| 恩施市| 烟台市| 罗源县| 南和县| 法库县| 丰镇市| 望奎县| 林口县| 永新县| 合江县| 武山县| 西吉县| 绥阳县| 滨州市| 武平县| 惠来县|