Qt 如何将插槽内创建的文件从一个独立插槽发送到另一个插槽?
我的工具栏上有两个操作:saveaction和startactionQt 如何将插槽内创建的文件从一个独立插槽发送到另一个插槽?,qt,signals-slots,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 create
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()
}
当我按下工具栏上的Save按钮时(saveaction)
我想我不能在optimize()中调用save(),因为每次调用optimize()时都会调用save(),但我希望它应该在触发saveaction时调用。
谢谢你的帮助 插槽是正常的方法,因此最简单的方法就是调用它:
void Mainwidnow::optimize()
{
//here a file is created
// and I want to send this file to save()
save();
}
如果您想要更奇特的东西,可以将信号连接到save()
插槽,然后发出信号
添加到注释中的唯一一件事是将公共功能提取到类(或函数)中,并在需要时调用它
您的需求应该足够清晰,能够说明什么时候应该发生。没有人可以告诉您应用程序应该如何运行。为什么不在optimize()中调用此->save()?因为有两个不同的操作连接在一起。我想在任何时候保存文件并调用save(),而不是每次启动optimize()。但在本例中调用optimize()时都会调用save(),我不想这样。因为插槽连接到两个不同的信号。我希望在触发保存操作时保存,而不是在优化时保存。你知道我怎样才能达到目标吗?天哪。首先创建一个普通算法。不清楚你在问什么。我已经编辑了我的问题。现在清楚我想要什么了吗?那么你能告诉我你不明白什么吗?@user3185491发布一个真实的例子,说明你需要什么。你发布的甚至不是伪代码
void Mainwidnow::optimize()
{
//here a file is created
// and I want to send this file to save()
save();
}