Vâng, tôi đang viết một ứng dụng PyQt4 nhỏ, nó chỉ là một hộp thoại Có/Không có lệnh thực thi lệnh bên ngoài (ví dụ: 'eject/dev/sr0') và thoát.Hộp thoại PyQt - Cách thoát khỏi hộp thoại sau khi nhấn nút?
Ứng dụng chạy, nó thực hiện lệnh sau khi nhấn nút "Có", nhưng tôi không thể tự thoát khỏi hộp thoại khi thực hiện lệnh.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
import os
import subprocess
from PyQt4 import QtGui
from PyQt4 import QtCore
from subprocess import call
cmd = 'eject /dev/sr0'
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
btn = QtGui.QPushButton('Yes', self)
btn.clicked.connect(lambda: os.system(cmd))
btn.resize(180, 40)
btn.move(20, 35)
qbtn = QtGui.QPushButton('No', self)
qbtn.clicked.connect(QtCore.QCoreApplication.instance().quit)
qbtn.resize(180, 40)
qbtn.move(20, 80)
self.setWindowTitle('Test')
self.show()
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Đây là mã của tôi. Khi tôi nhấp vào "Có", nó gọi lệnh 'eject/dev/sr0' đúng cách, nhưng sau đó hộp thoại vẫn hiển thị. Tôi phải nhấp vào "Không" để đóng ứng dụng Tôi muốn nó tự động đóng khi lệnh được thực thi. Tôi nên thêm/sửa đổi những gì?
Và dòng đơn giản này là giải pháp. Cảm ơn. –