# -*- coding: utf-8 -*- """ Created on Sat May 9 17:14:37 2020 @author: Giyn """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTextBrowser, QVBoxLayout, QHBoxLayout, QMessageBox from PyQt5.QtGui import QIcon class Simple_Window(QWidget): def __init__(self): super(Simple_Window, self).__init__() # 使用super函数可以实现子类使用父类的方法 self.setWindowTitle("记事本") self.setWindowIcon(QIcon('NoteBook.png')) # 设置窗口图标 self.resize(412, 412) self.text_browser = QTextBrowser(self) # 实例化一个QTextBrowser对象 # self.text_browser.setText("

Hello World!

") # 设置编辑框初始化时显示的文本 # self.text_browser.setReadOnly(False) # 调用setReadOnly方法并传入False参数即可编辑文本浏览框(编辑框也可以变成只读) self.save_button = QPushButton("Save", self) self.clear_button = QPushButton("Clear", self) self.add_button = QPushButton("Add", self) self.save_button.clicked.connect(lambda: self.button_slot(self.save_button)) self.clear_button.clicked.connect(lambda: self.button_slot(self.clear_button)) self.add_button.clicked.connect(self.add_text) self.h_layout = QHBoxLayout() self.v_layout = QVBoxLayout() self.h_layout.addWidget(self.save_button) self.h_layout.addWidget(self.clear_button) self.h_layout.addWidget(self.add_button) self.v_layout.addWidget(self.text_browser) self.v_layout.addLayout(self.h_layout) self.setLayout(self.v_layout) def button_slot(self, button): if button == self.save_button: choice = QMessageBox.question(self, "Question", "Do you want to save it?", QMessageBox.Yes | QMessageBox.No) if choice == QMessageBox.Yes: with open('Second text.txt', 'w') as f: f.write(self.text_browser.toPlainText()) self.close() elif choice == QMessageBox.No: self.close() elif button == self.clear_button: self.text_browser.clear() def add_text(self): # self.text_browser.append("

Hello World!

") # 调用append方法可以向文本浏览框中添加文本 html = """
我要抢楼
""" self.text_browser.insertHtml(html) if __name__ == "__main__": app = QApplication(sys.argv) window = Simple_Window() window.show() sys.exit(app.exec())