How to display the stdout of a command with PyQt
This widget contains a QPushButton
and a QTextEdit
box. When the button is pushed, the results of the dir
is displayed in the text box.
import os
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def main():
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
# create objects
self.pb = QPushButton(self.tr("Run command"))
self.te = QTextEdit()
# layout
layout = QVBoxLayout(self)
layout.addWidget(self.pb)
layout.addWidget(self.te)
self.setLayout(layout)
# create connection
self.connect(self.pb, SIGNAL("clicked(bool)"),
self.run_command)
def run_command(self):
stdouterr = os.popen4("dir")[1].read()
self.te.setText(stdouterr)
if __name__ == "__main__":
main()
Related posts
- PyQt: How to pass arguments while emitting a signal — posted 2008-01-29
- PyQt4 QItemDelegate example with QListView and QAbstractListModel — posted 2008-01-23
- How to install pyqt4 on ubuntu linux — posted 2008-01-15
- Python PyQt Tab Completion example — posted 2008-01-04
- How to capture the Tab key press event with PyQt 4.3 — posted 2008-01-03
- PyQt 4.3 Simple QAbstractListModel/ QlistView example — posted 2008-01-03