想做好渣男,必须写好舔狗日记。废话少说直接上代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton, QMessageBox
from PyQt5.QtGui import QFont, QTextDocument
import requests
class TuanGouDiary(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("舔狗的日记")
self.setFixedSize(400, 300) # 设置固定大小
self.setStyleSheet("background-color: #F5F5F5;") # 设置背景颜色
self.text_entry = QTextEdit(self)
self.text_entry.setGeometry(50, 50, 300, 150)
self.text_entry.setFont(QFont("Arial", 12)) # 设置字体样式
self.text_entry.setDocument(QTextDocument()) # 设置文档对象
self.request_button = QPushButton("每日舔狗日记", self)
self.request_button.setGeometry(50, 220, 150, 30)
self.request_button.setStyleSheet("background-color: #FF69B4; color: white; font-size: 12px;") # 设置按钮样式
self.request_button.clicked.connect(self.get_tiangou)
self.copy_button = QPushButton("一键复制舔狗日记", self)
self.copy_button.setGeometry(200, 220, 150, 30)
self.copy_button.setStyleSheet("background-color: #FF69B4; color: white; font-size: 12px;") # 设置按钮样式
self.copy_button.clicked.connect(self.copy_content)
self.text_entry.document().setDefaultStyleSheet("p { line-height: 1.5; }") # 设置行距
def get_tiangou(self):
try:
response = requests.get("https://cloud.qqshabi.cn/api/tiangou/api.php")
tiangou = response.text
self.text_entry.clear()
self.text_entry.insertPlainText(tiangou)
except requests.exceptions.RequestException as e:
QMessageBox.critical(self, "Error", str(e))
def copy_content(self):
content = self.text_entry.toPlainText()
QApplication.clipboard().setText(content)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = TuanGouDiary()
window.show()
sys.exit(app.exec_())
首先,我们导入了需要使用的模块和类。sys 模块用于处理命令行参数,QApplication 类是 PyQt5 的主要类,用于创建应用程序,QMainWindow 类是一个主窗口类,QTextEdit 类用于创建文本编辑框,QPushButton 类用于创建按钮,QMessageBox 类用于显示消息框,QFont 类用于设置字体样式,QTextDocument 类用于创建文档对象,requests 模块用于发送 HTTP 请求。
接下来,我们定义了一个名为 TuanGouDiary 的类,继承自 QMainWindow 类。在类的初始化方法__init__中,我们设置了窗口的标题、大小和背景颜色。
然后,我们创建了一个文本编辑框 text_entry,设置了它的位置、大小和字体样式,并为其设置了一个空的文档对象。
接着,我们创建了两个按钮,分别是 "我要做舔狗" 和 "一键复制舔狗日记",并设置了它们的位置、大小、背景颜色和字体样式。我们还为这两个按钮分别连接了两个槽函数 get_tiangou 和 copy_content。
在 get_tiangou 函数中,我们使用 requests 模块发送了一个 GET 请求到 "接口",并获取到了舔狗日记的内容。然后,我们清空了文本编辑框的内容,并将获取到的舔狗日记插入到文本编辑框中。
在 copy_content 函数中,我们获取了文本编辑框中的内容,并将其复制到剪贴板中。
最后,在 if name == "main": 语句中,我们创建了一个 QApplication 对象,并实例化了 TuanGouDiary 类的对象 window。然后,我们显示了窗口,并进入了应用程序的事件循环中。