cuốn sách gpt4 ai đã làm

python - 关闭 PyQt 对话框终止父进程? (PyQt4/Pyside) 示例代码

In lại Tác giả: Hồ Xil 更新时间:2023-11-01 09:53:34 hai mươi bốn 4
mua khóa gpt4 Nike

我正在处理的 QSystemTrayIcon 应用程序有问题。

我使用 SystemTrayIcon 作为父项或祖父项创建的任何对话框在关闭时都会终止整个应用程序,即使我覆盖了“拒绝”方法也是如此。

这是一个没有图标的简化示例。运行它时(这里是 Windows 7),任务栏上应该有一个空白托盘图标应用程序。如果您左键单击它,将弹出一个空对话框。单击“X”关闭对话框也将完全终止 python 进程。

from PySide import QtGui, QtCore   
class RestartDialog(QtGui.QDialog):
def __init__(self, parent):
super(RestartDialog, self).__init__()

def reject(self):
self.hide()

class SystemTrayIcon(QtGui.QSystemTrayIcon):

def __init__(self, parent=None):
QtGui.QSystemTrayIcon.__init__(self, parent)
self.activated.connect(self.click_trap)

def click_trap(self, value):
''' Left click tray function '''
if value == self.Trigger: #left click!
self.dialog = RestartDialog(self)
self.dialog.show()

def show(self):
QtGui.QSystemTrayIcon.show(self)


if __name__ == "__main__":
proc = QtGui.QApplication([])
APP = SystemTrayIcon()
APP.show()
proc.exec_()

câu trả lời hay nhất

尝试在创建 QApplication 后添加:

proc.setQuitOnLastWindowClosed(False)

默认情况下为真,因此您的事件循环将在您关闭对话框后终止。

关于python - 关闭 PyQt 对话框终止父进程? (PyQt4/Pyside) 示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23070863/

hai mươi bốn 4 0
Hồ Xil
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress