我想将控制台定向到 Pyqt GUI
代码如下所示
class Stream(QtCore.QObject):
newText = QtCore.pyqtSignal(str)
def write(self, text):
self.newText.emit(str(text))
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(50, 50, 500, 300)
self.setWindowTitle("PyQT tuts!")
self.setWindowIcon(QtGui.QIcon('pythonlogo.png'))
self.home()
sys.stdout = Stream(newText=self.onUpdateText)
def onUpdateText(self, text):
cursor = self.process.textCursor()
cursor.movePosition(QtGui.QTextCursor.End)
cursor.insertText(text)
self.process.setTextCursor(cursor)
self.process.ensureCursorVisible()
def __del__(self):
sys.stdout = sys.__stdout__
我有两个问题。
为什么def write(self, text)
定义了但不使用
里面的参数是什么Stream(newText=self.onUpdateText)
意思,我的pycharm给了我一个警告Unexpected argument
桃花长相依
相关分类