先看完整代码:

from PySide2.QtWidgets import QApplication, QMainWindow, QAction, QTextEdit
import sys
from PySide2.QtGui import QIcon, QFont

class Window(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("Simple Notepad Application")
        self.setGeometry(300,200,1280,600)

        self.textEdit = QTextEdit(self)
        self.textEdit.setFont(QFont('Sanserif', 13))
        self.setCentralWidget(self.textEdit)

        self.setIcon()

        self.create_menu()
        self.show()

    def setIcon(self):
        appIcon = QIcon("icon.png")
        self.setWindowIcon(appIcon)

    def create_menu(self):
        mainMenu = self.menuBar()
        fileMenu = mainMenu.addMenu('File')
        viewMenu = mainMenu.addMenu('View')
        editMenu = mainMenu.addMenu('Edit')
        fontMenu = mainMenu.addMenu('Font')
        helpMenu = mainMenu.addMenu('Help')

        openAction = QAction(QIcon('open.png'), "Open", self)
        openAction.setShortcut('Ctrl+O')

        saveAction = QAction(QIcon('save.png'), "Save", self)
        saveAction.setShortcut('Ctrl+S')

        exitAction = QAction(QIcon('exit.png'), "Exit", self)
        exitAction.setShortcut('Ctrl+X')

        exitAction.triggered.connect(self.exit_app)

        fileMenu.addAction(openAction)
        fileMenu.addAction(saveAction)
        fileMenu.addAction(exitAction)

    def exit_app(self):
        self.close()


myapp = QApplication(sys.argv)
window = Window()

myapp.exec_()
sys.exit()

 QTextEdit 用户编辑和显示纯文本和富文本的控件,每个字符都有自己的属性,例如字体和颜色。

QMainWindow的方法setCentralWidget把QTextEdit放置在主窗口上。

运行看效果:

如果不清楚其它代码含义,请参考前面课程:

Python界面编程第一课:我们开始用Pyside2 (Qt For Python)

Python界面编程第二课:Pyside2 创建窗口 (Python GUI)

Python界面编程第三课:Pyside2 (Qt For Python)给窗口加个图标

Python界面编程第四课:Pyside2 (Qt For Python)创建图标模式

Python界面编程第五课:Pyside2 (Qt For Python)怎么创建控件提示Tooltip

Python界面编程第六课:Pyside2 (Qt For Python),QPushButton按钮的信号与槽

Python界面编程第七课:Pyside2 (Qt For Python)窗口居中

Python界面编程第八课:Pyside2 (Qt For Python)打开关于窗口

Python界面编程第九课:Pyside2 (Qt For Python)创建数字时钟

Python界面编程第十课:Pyside2 (Qt For Python)创建StatusBar

Python界面编程第十一课:Pyside2 (Qt For Python)创建进度条

Python界面编程第十二课:Pyside2 (Qt For Python)布局管理QVBoxLayout 和 QHBoxLayout

Python界面编程第十三课:Pyside2 (Qt For Python)GridLayout网格布局

Python界面编程第十四课:Pyside2 (Qt For Python)使用Calendar创建日历

Python界面编程第十五课:Pyside2 (Qt For Python)使用CheckBox复选框

Python界面编程第十六课:Pyside2 (Qt For Python)FontComboBox字体选择框

Python界面编程第十七课:Pyside2 (Qt For Python)QCompleter自动完成

Python界面编程第十八课:Pyside2 (Qt For Python)Slider拖动条

Python界面编程第十九课:Pyside2 (Qt For Python)创建菜单

更多推荐

Python界面编程第二十课:Pyside2 (Qt For Python)文本编辑框QTextEdit