python - 使 xterm 窗口打开直到它被用户关闭

标签 python linux pyqt

如何调用一个永久的 xterm 窗口并且只有在用户关闭它时它才会关闭?

这是将重现此问题的代码

import os
from PyQt4 import QtCore, QtGui
from main import Ui_MainWindow

class Main(QtGui.QMainWindow):
    def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)

        QtCore.QObject.connect(self.ui.pushID, QtCore.SIGNAL('clicked()'), self.showid)

    def showid(self):
        process = subprocess.Popen(['lsusb'], shell=False, stdout=subprocess.PIPE)
        process.communicate()[0]

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    main = Main()
    main.show()
    sys.exit(app.exec_())

有什么建议吗?

最佳答案

不要使用os.system。使用 subprocess

>>> import subprocess
>>> subprocess.Popen(['xterm'])

虽然您最好从 subprocess 获取输出而不涉及 xterm

>>> process = subprocess.Popen(['lsusb'], shell=False, stdout=subprocess.PIPE)
>>> process.communicate()[0]

注意 shell=False。这就是您从 lsusb 命令读取输出的方式。

如果您正在寻找关于subprocess 的教程,this很好。

关于python - 使 xterm 窗口打开直到它被用户关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4173632/

相关文章:

python - 如何在 PyQt 中使用 QThreads 双向设置信号和槽?

python - 将 QmouseEvent 转换为 QGraphicsSceneMouseEvent 以进行拖动移动

通过代理进行基本身份验证的 Python HTTPS 客户端

linux - 以可移植的方式在 shell 脚本中编码字符串的 URL

python - 定义一个字典,其名称已作为字符串存储在脚本中

linux - 使用 gnome 终端获取新选项卡

c - 如何在 Putty.exe 中安装 Maven?

python - pyqt 中未定义 Qurl

python - Pandas 不承认 NaN 为空

python - 值错误 : Received a null pointer