界面文件 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