Python做qq登录聊天GUI程序代码
时间: 2023-11-19 11:42:25 浏览: 82
这里提供一个使用 Python 和 PyQt5 实现 QQ 登录和聊天 GUI 程序的简单示例代码。
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QPushButton, QTextEdit
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt
class LoginWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QQ登录')
self.setFixedSize(400, 300)
# 设置背景图片
bg_label = QLabel(self)
bg_pixmap = QPixmap('bg.jpg')
bg_label.setPixmap(bg_pixmap.scaled(self.width(), self.height()))
bg_label.setAlignment(Qt.AlignCenter)
# 用户名和密码输入框
user_label = QLabel('用户名:', self)
user_label.setAlignment(Qt.AlignRight)
user_edit = QLineEdit(self)
pwd_label = QLabel('密 码:', self)
pwd_label.setAlignment(Qt.AlignRight)
pwd_edit = QLineEdit(self)
pwd_edit.setEchoMode(QLineEdit.Password)
hbox1 = QHBoxLayout()
hbox1.addWidget(user_label)
hbox1.addWidget(user_edit)
hbox2 = QHBoxLayout()
hbox2.addWidget(pwd_label)
hbox2.addWidget(pwd_edit)
vbox1 = QVBoxLayout()
vbox1.addLayout(hbox1)
vbox1.addLayout(hbox2)
# 登录按钮
login_btn = QPushButton('登录', self)
vbox2 = QVBoxLayout()
vbox2.setAlignment(Qt.AlignCenter)
vbox2.addWidget(login_btn)
# 布局
vbox = QVBoxLayout()
vbox.addStretch()
vbox.addLayout(vbox1)
vbox.addLayout(vbox2)
vbox.addStretch()
self.setLayout(vbox)
self.show()
class ChatWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('QQ聊天')
self.setFixedSize(500, 400)
# 消息框
msg_edit = QTextEdit(self)
msg_edit.setReadOnly(True)
# 输入框和发送按钮
input_edit = QLineEdit(self)
send_btn = QPushButton('发送', self)
hbox = QHBoxLayout()
hbox.addWidget(input_edit)
hbox.addWidget(send_btn)
# 布局
vbox = QVBoxLayout()
vbox.addWidget(msg_edit)
vbox.addLayout(hbox)
central_widget = QWidget()
central_widget.setLayout(vbox)
self.setCentralWidget(central_widget)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
# 登录窗口
login_window = LoginWindow()
login_window.show()
# 聊天窗口
chat_window = ChatWindow()
chat_window.hide()
# 登录按钮点击事件
def login():
login_window.hide()
chat_window.show()
login_window.login_btn.clicked.connect(login)
sys.exit(app.exec_())
```
这个示例程序实现了两个窗口,一个是登录窗口,一个是聊天窗口。登录窗口包含用户名和密码输入框和一个登录按钮,聊天窗口包含一个消息框、一个输入框和一个发送按钮。在登录按钮点击事件中,隐藏登录窗口并显示聊天窗口。
阅读全文