如何将一个插槽内创建的文件从一个独立的插槽发送到另一个插槽?

时间:2014-03-04 14:14:36

标签: qt signals-slots

我的工具栏上有两个操作:saveaction和startaction

   saveaction is connected to save() slot
   startaction is connected to optimize() slot

在optimize()中创建一个文件。我想在save()中保存文件。

由于在触发信号时会调用它们,因此它们(插槽)应该是独立的。 我有,

void Mainwidnow::optimize()
{
    //here a file is created

    // and I want to send this file to save()
}

当我在工具栏上按下savebutton(saveaction)时。

void Mainwindow::save()
{
    //here I want actually get file and save
    get = thefile
    saveit();
}

我认为我不能在optimize()中调用save(),因为每次调用optimize()时都会调用它,但我想要的是每当触发saveaction时都应调用它。 任何帮助赞赏。

1 个答案:

答案 0 :(得分:0)

插槽是常规方法,所以最简单的就是调用它:

void Mainwidnow::optimize()
{
    //here a file is created

    // and I want to send this file to save()
    save();
}

如果您想要更具异国情调的东西,可以将信号连接到save()插槽,然后发出信号。


添加到评论中的唯一方法是将常用功能提取到类(或函数)中,并在需要时调用它。

您的要求应该足够明确,以说明发生的情况。 SO上的任何人都无法告诉您应用程序的行为方式。