【信号与槽的构建方法】
{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}