在尝试了多种组合后,当另一个对话框关闭时,我无法让Qt在我的主窗口对话框中调用一个函数。
我看了一下,用信号和插槽尝试了一些东西,但无济于事:
QObject::connect( edit_dialog, SIGNAL( finished(int) ), this, refresh_table() );
简而言之,我有一个显示自定义容器数据的表。 edit_dialog允许编辑值并通过一组外部函数(它们工作)将更改直接发送到数据库。但是一旦该对话框关闭,我想让表重新加载来自容器的更新数据,该数据从数据库中提取数据。
Db-> Container-> GUI表
我意识到Qt有用于读取/写入DB的本机库,但这对我的目的没有好处。我需要一种方法来自动调用refresh_table()
功能,我已尝试将其放入公共广告位'没有任何成功。
答案 0 :(得分:0)
您实际上必须将刷新表函数连接到SLOT( )
connect( edit_dialog, SIGNAL( finished(int) ), this, SLOT( refresh_table() ) );
除此之外,你的方法似乎没有任何问题。
您还可以创建自己的信号并将其连接到refresh_table()函数,例如使用该对话框中“Ok”,“Cancel”按钮的单击事件并调用
emit ownSignal( );
在其中。