# -*- 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())