子模块调用菜单栏,实现保存功能,信号和槽连接问题求助?
学点编程吧
全部回复
仅看楼主
level 5
小漫步者6
楼主
想要实现的功能是点击菜单栏保存,保存tablewidget中表格数据.
在主查询main模块,ERP类中用下面代码可以启动信号和槽.
@pyqtSlot()
def on_SaveAction_triggered(QMainWindow)
但在main模块调用sall文件夹下order模块,想在order模块orders类下实现该信号的连接功能.
求老师看看要怎么调用?谢谢!
2019年01月06日 12点01分
1
level 13
学点编程吧😄
说实话没怎么看懂你的意思,建议画张图或者把涉及到的模块用最简单的代码写成示例或许会好点。
2019年01月07日 07点01分
2
level 5
小漫步者6
楼主
想实现点击保存,把中间控件self.setCentralWidget(Order())保存到数据库.
目录结构见下图:
想了两种方法,方法一的问题:sale模块下Order类怎么接收到点击保存的triggered信号,下图这样写法接收不到信号?
想要在打开order窗口时,点保存把信号发送到order类下,执行order模块代码.
打开quote窗口时,点保存把信号发送到quote类下,执行quote模块代码.
方法二的问题:下图是主程序模块main,用下面代码:
def on_SaveAction_triggered(self):
Order().on_PBsave_clicked()
就能接收点击保存信号.
存在问题:不管订单Order()是否打开,点击保存后,都能执行order类下面代码.
想要实现:
当我切换到order窗口,判断执行order类下面保存代码.切换到quote窗口,判断执行quote类下保存代码.
麻烦老师给看看!谢谢
2019年01月07日 12点01分
3
level 13
学点编程吧😄
我的当前目录是这样的:
然后我执行main_save.py,采用的也是
@pyqtSlot()
def on_pushButton_clicked(self):
效果如下:
不知道你是不是要这样????
2019年01月08日 16点01分
4
小漫步者6
谢谢老师,我是这个意思. 但是我想在QMainWindow的任务栏点击保存,main_save.py下接收不到@pyqtSlot() def on_SaveAction_triggered(self):
2019年01月09日 00点01分
学点编程吧😄
@小漫步者6
那你自定义一个信号,发出去呢?
2019年01月09日 06点01分
1