And*_*ndy 17 python pyqt win32gui
我在pyqt QApplication的选项卡中嵌入了一个应用程序.当我关闭选项卡时,此应用程序嵌入在如何允许它显示"保存更改"对话框中?
我在tab_close上使用它:
win32gui.PostMessage(int(wdg.process._handle),win32con.WM_CLOSE,0,0)
Run Code Online (Sandbox Code Playgroud)
当我这样做时,如果应用程序通常会抛出一个,我会丢失此对话框.
代码看起来类似于:
class MainWindow(QTabWidget):
def __init__(self, parent=None):
QTabWidget.__init__(self, parent)
self.setTabsClosable(1)
self.tabCloseRequested.connect(self.close_tab)
...
def close_tab(self,ind):
wdg = self.widget(ind)
win32gui.PostMessage(int(wdg.process._handle),win32con.WM_CLOSE,0,0)
self.removeTab(ind)
del wdg
...
Run Code Online (Sandbox Code Playgroud)
这会产生这样的UI(嵌入了Window的notepad.exe).单击选项卡上的"X"将关闭记事本,而不会提示用户保存任何输入.
如何关闭选项卡并允许嵌入式应用程序提示用户保存其更改?
你所走的道路只会给你带来痛苦和幻灭。
记事本只是少数免费提供源代码的 Windows 应用程序之一。
重新编译并修改它以适合您的目的。
您会发现您可能还需要删除其他弹出对话框。
现在,如果您确实想继续 Windows 自动化,您可能需要类似https://pywinauto.github.io 的东西,它恰好有一个notepad.exe.
| 归档时间: |
|
| 查看次数: |
319 次 |
| 最近记录: |