我正在使用Gtk3程序来打印标签。我想从外部触发打印对话框。除我的程序在打印后挂起之外,此方法有效。
具体来说,我的代码在运行时效果很好
class UI:
…
def on_print_clicked(self,*foo):
self.prn.print(preview=self.did_shift)
其中self.prn.print
按照Gtk3的要求进行整个打印操作。
但是,当我将其更改为
class UI:
…
def on_print_clicked(self,*foo):
GObject.idle_add(self._on_print)
def _on_print(self):
self.prn.print(preview=self.did_shift)
然后打印作业完成(显示预览,等等),但是在打印程序后挂起。
为什么这两个代码段不相同?我该怎么做才能解决此问题?