【信號與槽的構建方法】
{pushButton}
按鈕建立信號的最常用的信號是,clicked
# 信號的連接 xxx.pushButton.clicked.connect(function_name) # 定義槽函數 def function_name(): try: print('pushButton 已經被按下!') except modbus_tk.modbus.ModbusError as e: logger.error("%s- Code=%d" % (e, e.get_exception_code()))
{combox}
常用的信號觸發為:
xxx.comboBox.currentIndexChanged.connect()
# 定義觸發函數 xxx.comboBox.currentIndexChanged.connect(function_name) def function_name(): item = ui_main.comboBox.currentIndex() print(item)
{action}
使用action的有菜單工具:
這兩位置是對應的,在菜單欄中建立一個新的按鈕就會在下面的action中增加一個action動作。
同時在下面增加action動作之后,也可以將其通過拖拽的方式拖到上面菜單欄。
關於action的信號與槽需要如何構建:
# 定義信號的觸發函數連接 xxx.actionnew.triggered.connect(function_Name) # 定義槽函數 def function_name(): try: print('action已經觸發!') except modbus_tk.modbus.ModbusError as e: logger.error("%s- Code=%d" % (e, e.get_exception_code()))
{listWidget}
列表控件的觸發,主要是使用
itemClicked(item)
itemPressed (item)
itemDoubleClicked (item)
# 定義信號的觸發函數 #注意,在該函數中沒有傳入參數 xxx.listWidget.itemClicked.connect(function_name) def function_name(): index = ui_main.listWidget.currentItem() row = ui_main.listWidget.currentRow() name = ui_main.listWidget.currentItem().text() # 輸出list的信息 print(index) print(row) print(name)
{tab Widget}
tab Widget 表格式主要在切換表的時候切換畫面
Tab的觸發函數:
tabWidget.currentChanged
#定義信號觸發函數 tabWidget.currentChanged.connect(function_name) # 定義觸發函數 def function_name(): index=ui_main.tabWidget.currentIndex() print(index)
{TreeWidget}
樹和節點
首先建立一個如下的控件
樹的信號觸發函數(signal):
xxx.treeWidget.clicked.connect(function_name)
# 定義觸發函數 xxx.treeWidget.clicked.connect(function_name) def function_name(): item = xxx.treeWidget.currentItem() text1 = item.text(0) text2 = item.text(1) print(text1) print(text2)
{stackedWidget}