如何隐藏 vtkOutputWindow?GlobalWarningDisplayOff() 不会抑制或将输出重定向到文件,但只会隐藏。(并在一段时间后通过类似的方式再次显示vtkOutputWindow::GetInstance()->DisplayText(" ")
)。谢谢。
PS。我在 Windows 上使用 Qt gui。
聚苯乙烯。对于那些对此问题感兴趣的人,我将邮件列表通信带到这里(尚未提供超链接):
贝尔,好吧!现在我明白你的意思了。正如您所说,可能最简单的方法是向窗口发送关闭信号。
正如您在 vtkWin32OutputWindow 参考(https://www.vtk.org/doc/nightly/html/classvtkWin32OutputWindow.html)上看到的那样,它是“一个只读的 EDIT 控件”,所以如果你能得到它的句柄也许你可以将其合并到您可以控制的窗口中。另一个更复杂的解决方案是创建一个新类,该类继承自 vtkOutputWindow,基于 vtkWin32OutputWindow,但具有隐藏和显示控件的控件。最好的问候, Lucas Frucht Desenvolvimento
卢卡斯,谢谢你的回复。在隐藏 vtkOutputWindow 时,我不需要“保存更改”。一般来说,我的问题是关于如何在运行时从 gui 隐藏/显示这个窗口。vtkOutputWindow 类不是从任何小部件派生的,因此它没有任何方法,如“隐藏”或“关闭”。也毁了它也无济于事。
vtkOutputWindow *w = vtkOutputWindow::GetInstance(); w->Delete(); ... (redirecting...)
不要关闭它。似乎向窗口发送关闭信号是最简单的解决方案。
真诚的,贝尔。08.08.2018 18:04, lucas.frucht@medilabsistemas.com.br: >
贝尔,在你的问题中有一点我不清楚。您希望在隐藏 vtkOutputWindow 时显示的消息被丢弃还是在取消隐藏时显示?
如果你希望它被丢弃,我想你可以将它重定向到
/dev/null
Unix 或 Windows 上的 nul 并在你想取消隐藏窗口时删除重定向。如果您只是想延迟输出,也许您可以将消息重定向到 vtkStringOutputWindow 以将消息存储在字符串中,然后当您想要显示时,删除重定向并调用 DisplayText 传递您存储消息的字符串。我从来没有尝试过,但对我来说这似乎是合理的。最好的问候,卢卡斯·弗鲁赫特。