用PyQT写一个chatgpt的聊天界面,此外,聊天界面背景为图片路径并且界面大小与背景图片的长和宽相同,同时可以自动缩放大小,聊天框也都是透明的,功能类似思知问答机器人,机器人和我都有logo,输入框背景修改为白色,光标红色加粗,界面右上角增加关闭和缩放大小功能,请给出实现的完整代码
时间: 2023-03-14 18:54:31 浏览: 492
用PyQT写ChatGPT的聊天界面代码如下:
# -*- coding: utf-8 -*-import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QHBoxLayout, QVBoxLayout
from PyQt5.QtGui import QIcon, QPixmap, QFont
from PyQt5.QtCore import Qtclass Window(QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.initUi()
self.show()
def initUi(self):
# 设置窗口的大小和背景图片的大小相同
self.resize(800, 600)
self.setWindowTitle('ChatGPT')
self.setWindowIcon(QIcon('logo.ico'))
self.setAutoFillBackground(True)
# 设置背景图片
pixmap = QPixmap('background.jpg')
self.setPixmap(pixmap)
# 设置窗口右上角功能:最小化、最大化、关闭
self.setWindowFlags(Qt.WindowCloseButtonHint | Qt.WindowMinimizeButtonHint | Qt.WindowMaximizeButtonHint)
# 设置聊天框
self.chatBox = QVBoxLayout()
self.chatBox.setAlignment(Qt.AlignTop)
# 设置输入框
self.inputBox = QHBoxLayout()
# 设置输入框背景颜色
self.inputBox.setStyleSheet('background-color: white;')
self.inputLine = QLineEdit()
self.inputLine.setFont(QFont('微软雅黑', 10))
# 设置输入框光标颜色和加粗
self.inputLine.setCursor(Qt.IBeamCursor)
self.inputLine.setStyleSheet('color: red; font-weight: bold;')
self.inputButton = QPushButton('发送')
self.inputButton.setStyleSheet('color: blue; font-weight: bold;')
# 把输入框添加到布局中
self.inputBox.addWidget(self.inputLine)
self.inputBox.addWidget(self.inputButton)
self.inputBox.setAlignment(Qt.AlignRight)
# 把聊天框和输入框添加到布局中
self.layout = QVBoxLayout()
self.layout.addLayout(self.chatBox)
self.layout.addLayout(self.inputBox)
self.setLayout(self.layout)
# 设置logo
self.myLogo = QLabel()
self.myLogo.setPixmap(QPixmap('mylogo.jpg'))
self.chatGPTLogo = QLabel()
self.chatGPTLogo.setPixmap(QPixmap('chatgptlogo.jpg'))
# 把logo添加到聊天框
self.chatBox.addWidget(self.myLogo)
self.chatBox.addWidget(self.chatGPTLogo)# 显示窗口
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
sys.exit(app.exec_())
阅读全文