界面文件 Ui_ControlBoard.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'Ui_ControlBoard.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtWidgets class Ui_MainWindow( object ): def setupUi( self , MainWindow): MainWindow.setObjectName( "MainWindow" ) MainWindow.resize( 800 , 600 ) self .centralwidget = QtWidgets.QWidget(MainWindow) self .centralwidget.setObjectName( "centralwidget" ) self .textBrowser = QtWidgets.QTextBrowser( self .centralwidget) self .textBrowser.setGeometry(QtCore.QRect( 50 , 180 , 591 , 171 )) self .textBrowser.setObjectName( "textBrowser" ) self .pushButton = QtWidgets.QPushButton( self .centralwidget) self .pushButton.setGeometry(QtCore.QRect( 450 , 390 , 93 , 28 )) self .pushButton.setObjectName( "pushButton" ) MainWindow.setCentralWidget( self .centralwidget) self .menubar = QtWidgets.QMenuBar(MainWindow) self .menubar.setGeometry(QtCore.QRect( 0 , 0 , 800 , 26 )) self .menubar.setObjectName( "menubar" ) MainWindow.setMenuBar( self .menubar) self .statusbar = QtWidgets.QStatusBar(MainWindow) self .statusbar.setObjectName( "statusbar" ) MainWindow.setStatusBar( self .statusbar) self .retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi( self , MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate( "MainWindow" , "MainWindow" )) self .pushButton.setText(_translate( "MainWindow" , "PushButton" )) |
逻辑文件 Call_ControlBoard.py
版本一
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/usr/bin/env python3 # -*- coding:utf-8 -*- from PyQt5 import QtCore, QtGui import sys from PyQt5.QtCore import QEventLoop, QTimer from PyQt5.QtWidgets import QApplication, QMainWindow from Ui_ControlBoard import Ui_MainWindow class EmittingStr(QtCore.QObject): textWritten = QtCore.pyqtSignal( str ) #定义一个发送str的信号 def write( self , text): self .textWritten.emit( str (text)) class ControlBoard(QMainWindow, Ui_MainWindow): def __init__( self ): super (ControlBoard, self ).__init__() self .setupUi( self ) # 下面将输出重定向到textBrowser中 sys.stdout = EmittingStr(textWritten = self .outputWritten) sys.stderr = EmittingStr(textWritten = self .outputWritten) self .pushButton.clicked.connect( self .bClicked) def outputWritten( self , text): cursor = self .textBrowser.textCursor() cursor.movePosition(QtGui.QTextCursor.End) cursor.insertText(text) self .textBrowser.setTextCursor(cursor) self .textBrowser.ensureCursorVisible() def bClicked( self ): """Runs the main function.""" print ( 'Begin' ) loop = QEventLoop() QTimer.singleShot( 1000 , loop.quit) loop.exec_() self .printABCD() loop = QEventLoop() QTimer.singleShot( 1000 , loop.quit) loop.exec_() print ( "End" ) def printABCD( self ): print ( "aaaaaaaaaaaaaaaa" ) print ( "bbbbbbbbbbbbbbbb" ) print ( "cccccccccccccccc" ) print ( "dddddddddddddddd" ) if __name__ = = "__main__" : app = QApplication(sys.argv) win = ControlBoard() win.show() sys.exit(app.exec_()) |
版本二
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/usr/bin/env python3 # -*- coding:utf-8 -*- from PyQt5 import QtCore, QtGui import sys from PyQt5.QtCore import QEventLoop, QTimer from PyQt5.QtWidgets import QApplication, QMainWindow from Ui_ControlBoard import Ui_MainWindow class EmittingStr(QtCore.QObject): textWritten = QtCore.pyqtSignal( str ) #定义一个发送str的信号 def write( self , text): self .textWritten.emit( str (text)) loop = QEventLoop() QTimer.singleShot( 1000 , loop.quit) loop.exec_() class ControlBoard(QMainWindow, Ui_MainWindow): def __init__( self ): super (ControlBoard, self ).__init__() self .setupUi( self ) # 下面将输出重定向到textBrowser中 sys.stdout = EmittingStr(textWritten = self .outputWritten) sys.stderr = EmittingStr(textWritten = self .outputWritten) self .pushButton.clicked.connect( self .bClicked) def outputWritten( self , text): cursor = self .textBrowser.textCursor() cursor.movePosition(QtGui.QTextCursor.End) cursor.insertText(text) self .textBrowser.setTextCursor(cursor) self .textBrowser.ensureCursorVisible() def bClicked( self ): """Runs the main function.""" print ( 'Begin' ) self .printABCD() print ( "End" ) def printABCD( self ): print ( "aaaaaaaaaaaaaaaa" ) print ( "bbbbbbbbbbbbbbbb" ) print ( "cccccccccccccccc" ) print ( "dddddddddddddddd" ) if __name__ = = "__main__" : app = QApplication(sys.argv) win = ControlBoard() win.show() sys.exit(app.exec_()) |
版本三
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#!/usr/bin/env python3 # -*- coding:utf-8 -*- from PyQt5 import QtCore, QtGui import sys from PyQt5.QtCore import QEventLoop, QTimer from PyQt5.QtWidgets import QApplication, QMainWindow from Ui_ControlBoard import Ui_MainWindow class EmittingStr(QtCore.QObject): textWritten = QtCore.pyqtSignal( str ) #定义一个发送str的信号 def write( self , text): self .textWritten.emit( str (text)) class ControlBoard(QMainWindow, Ui_MainWindow): def __init__( self ): super (ControlBoard, self ).__init__() self .setupUi( self ) # 下面将输出重定向到textBrowser中 sys.stdout = EmittingStr(textWritten = self .outputWritten) sys.stderr = EmittingStr(textWritten = self .outputWritten) self .pushButton.clicked.connect( self .bClicked) def outputWritten( self , text): cursor = self .textBrowser.textCursor() cursor.movePosition(QtGui.QTextCursor.End) cursor.insertText(text) self .textBrowser.setTextCursor(cursor) self .textBrowser.ensureCursorVisible() def bClicked( self ): """Runs the main function.""" print ( 'Begin' ) self .printABCD() print ( "End" ) def printABCD( self ): print ( "aaaaaaaaaaaaaaaa" ) print ( "bbbbbbbbbbbbbbbb" ) print ( "cccccccccccccccc" ) print ( "dddddddddddddddd" ) if __name__ = = "__main__" : app = QApplication(sys.argv) win = ControlBoard() win.show() sys.exit(app.exec_()) |
以上这篇PYQT5实现控制台显示功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/william_munch/article/details/89425038