mirror of
https://github.com/pyqt/examples.git
synced 2025-08-22 01:27:39 +00:00
37 lines
874 B
Python
37 lines
874 B
Python
from PyQt6.QtCore import *
|
|
from PyQt6.QtWidgets import *
|
|
from requests import Session
|
|
|
|
name = input("Please enter your name: ")
|
|
chat_url = "https://build-system.fman.io/chat"
|
|
server = Session()
|
|
|
|
# GUI:
|
|
app = QApplication([])
|
|
text_area = QPlainTextEdit()
|
|
text_area.setFocusPolicy(Qt.FocusPolicy.NoFocus)
|
|
message = QLineEdit()
|
|
layout = QVBoxLayout()
|
|
layout.addWidget(text_area)
|
|
layout.addWidget(message)
|
|
window = QWidget()
|
|
window.setLayout(layout)
|
|
window.show()
|
|
|
|
# Event handlers:
|
|
def display_new_messages():
|
|
new_message = server.get(chat_url).text
|
|
if new_message:
|
|
text_area.appendPlainText(new_message)
|
|
|
|
def send_message():
|
|
server.post(chat_url, {"name": name, "message": message.text()})
|
|
message.clear()
|
|
|
|
# Signals:
|
|
message.returnPressed.connect(send_message)
|
|
timer = QTimer()
|
|
timer.timeout.connect(display_new_messages)
|
|
timer.start(1000)
|
|
|
|
app.exec() |