diff --git a/main.py b/main.py index d24d79a2849670241d90e37615b86d1299eb280e..04b721ee8f44ae998a2b84d50191523b49925f7d 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,5 @@ import sys from PySide2.QtWidgets import QApplication, QMainWindow -from PySide2.QtCore import QFile, QByteArray from PySide2.QtNetwork import QTcpSocket from ui_mainwindow import Ui_MainWindow diff --git a/main2.py b/main2.py new file mode 100644 index 0000000000000000000000000000000000000000..143ade98f63396c794c5551aab13fa3cd589e1ca --- /dev/null +++ b/main2.py @@ -0,0 +1,56 @@ +import sys +from PySide2.QtWidgets import * +from PySide2.QtNetwork import QTcpSocket + +class MainWindow(QWidget): + def __init__(self): + super(MainWindow, self).__init__() + + # Add components + self.layout = QVBoxLayout(self) + self.chat = QTextEdit(self) + self.chat.setReadOnly(True) + self.lineEdit = QLineEdit(self) + self.sendButton = QPushButton(self) + self.sendButton.setText("Send") + + # Connect to sendText + self.lineEdit.returnPressed.connect(self.sendText) + self.sendButton.clicked.connect(self.sendText) + + # Conect TCP + self.socket = QTcpSocket(self) + self.socket.connectToHost("localhost", 33000) + self.socket.readyRead.connect(self.readText) + + # Set layout + self.layout.addWidget(self.chat) + self.layout.addWidget(self.lineEdit) + self.layout.addWidget(self.sendButton) + + # Set window settings + self.setWindowTitle("kszképzés chat") + self.setLayout(self.layout) + self.resize(350, 350) + + # Read text over TCP + def readText(self): + data = self.socket.readAll() + self.chat.append(str(data, 'utf-8')) + + # Write text text over TCP + def sendText(self): + self.socket.write(self.lineEdit.text().encode('utf-8')) + self.lineEdit.clear() + + # Send quit when the window is closed + def closeEvent(self, event): + self.socket.write("{quit}".encode('utf-8')) + +if __name__ == "__main__": + app = QApplication(sys.argv) + + window = MainWindow() + window.show() + + sys.exit(app.exec_()) \ No newline at end of file diff --git a/src/build/settings/base.json b/src/build/settings/base.json new file mode 100644 index 0000000000000000000000000000000000000000..3f9110ce8a078b648d98a809278ab2bcba1fbd8a --- /dev/null +++ b/src/build/settings/base.json @@ -0,0 +1,6 @@ +{ + "app_name": "chat", + "author": "Bodnár Zsombor", + "main_module": "src/main/python/main.py", + "version": "1" +} \ No newline at end of file diff --git a/src/build/settings/linux.json b/src/build/settings/linux.json new file mode 100644 index 0000000000000000000000000000000000000000..7a64c9503f7a45f2670c918d8b2ec76ffadba8ce --- /dev/null +++ b/src/build/settings/linux.json @@ -0,0 +1,6 @@ +{ + "categories": "Utility;", + "description": "", + "author_email": "", + "url": "" +} \ No newline at end of file diff --git a/src/build/settings/mac.json b/src/build/settings/mac.json new file mode 100644 index 0000000000000000000000000000000000000000..f7bd6105de5f2fd702b802d003553d125c3e8afe --- /dev/null +++ b/src/build/settings/mac.json @@ -0,0 +1,3 @@ +{ + "mac_bundle_identifier": "" +} \ No newline at end of file diff --git a/src/main/icons/Icon.ico b/src/main/icons/Icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3312d8606e5ccf262e3e8f3397189f9105049a19 Binary files /dev/null and b/src/main/icons/Icon.ico differ diff --git a/src/main/icons/README.md b/src/main/icons/README.md new file mode 100644 index 0000000000000000000000000000000000000000..c6c419494051fcf1b92ccc3ff90097051bfa873e --- /dev/null +++ b/src/main/icons/README.md @@ -0,0 +1,11 @@ + + +This directory contains the icons that are displayed for your app. Feel free to +change them. + +The difference between the icons on Mac and the other platforms is that on Mac, +they contain a ~5% transparent margin. This is because otherwise they look too +big (eg. in the Dock or in the app switcher). + +You can create Icon.ico from the .png files with +[an online tool](http://icoconvert.com/Multi_Image_to_one_icon/). \ No newline at end of file diff --git a/src/main/icons/base/16.png b/src/main/icons/base/16.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d02dc268f79c183376b30dddf5ea0cf5827dfe Binary files /dev/null and b/src/main/icons/base/16.png differ diff --git a/src/main/icons/base/24.png b/src/main/icons/base/24.png new file mode 100644 index 0000000000000000000000000000000000000000..faa6710cebe0b9b5b182a8136b0234f14b1794e4 Binary files /dev/null and b/src/main/icons/base/24.png differ diff --git a/src/main/icons/base/32.png b/src/main/icons/base/32.png new file mode 100644 index 0000000000000000000000000000000000000000..36b25e8602defb2a39c5163a8826612e8623c71a Binary files /dev/null and b/src/main/icons/base/32.png differ diff --git a/src/main/icons/base/48.png b/src/main/icons/base/48.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5dcbddeaa278eaf757162f5b220af656db284e Binary files /dev/null and b/src/main/icons/base/48.png differ diff --git a/src/main/icons/base/64.png b/src/main/icons/base/64.png new file mode 100644 index 0000000000000000000000000000000000000000..4b0a42323f9d02912c17717cc21d9d6bb6f5c613 Binary files /dev/null and b/src/main/icons/base/64.png differ diff --git a/src/main/icons/linux/1024.png b/src/main/icons/linux/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..2248377200ccb2f2bfb3e721089213cc7b47451e Binary files /dev/null and b/src/main/icons/linux/1024.png differ diff --git a/src/main/icons/linux/128.png b/src/main/icons/linux/128.png new file mode 100644 index 0000000000000000000000000000000000000000..05b2b3579b990fd9f21387fcc12e07ab6aa20c38 Binary files /dev/null and b/src/main/icons/linux/128.png differ diff --git a/src/main/icons/linux/256.png b/src/main/icons/linux/256.png new file mode 100644 index 0000000000000000000000000000000000000000..578fdc787602fd2e6e5608e8dcba51f1eb638e68 Binary files /dev/null and b/src/main/icons/linux/256.png differ diff --git a/src/main/icons/linux/512.png b/src/main/icons/linux/512.png new file mode 100644 index 0000000000000000000000000000000000000000..0fbac4f9c0612b5a799a1544a857315ab8ef20c5 Binary files /dev/null and b/src/main/icons/linux/512.png differ diff --git a/src/main/icons/mac/1024.png b/src/main/icons/mac/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c8691dd52d9a3cfa4ed7d8bcfe92be80f4e835 Binary files /dev/null and b/src/main/icons/mac/1024.png differ diff --git a/src/main/icons/mac/128.png b/src/main/icons/mac/128.png new file mode 100644 index 0000000000000000000000000000000000000000..de9bee605f235a04db3a1848323f0780ddd0c27a Binary files /dev/null and b/src/main/icons/mac/128.png differ diff --git a/src/main/icons/mac/128@2x.png b/src/main/icons/mac/128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a68b97cb24e49d9511b928722208e3f60c9c83 Binary files /dev/null and b/src/main/icons/mac/128@2x.png differ diff --git a/src/main/icons/mac/16@2x.png b/src/main/icons/mac/16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..36b25e8602defb2a39c5163a8826612e8623c71a Binary files /dev/null and b/src/main/icons/mac/16@2x.png differ diff --git a/src/main/icons/mac/256.png b/src/main/icons/mac/256.png new file mode 100644 index 0000000000000000000000000000000000000000..c3a68b97cb24e49d9511b928722208e3f60c9c83 Binary files /dev/null and b/src/main/icons/mac/256.png differ diff --git a/src/main/icons/mac/256@2x.png b/src/main/icons/mac/256@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b2fc07e6f54ea4407f1b68d10bd230d9002aca3f Binary files /dev/null and b/src/main/icons/mac/256@2x.png differ diff --git a/src/main/icons/mac/32@2x.png b/src/main/icons/mac/32@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4b0a42323f9d02912c17717cc21d9d6bb6f5c613 Binary files /dev/null and b/src/main/icons/mac/32@2x.png differ diff --git a/src/main/icons/mac/512.png b/src/main/icons/mac/512.png new file mode 100644 index 0000000000000000000000000000000000000000..b2fc07e6f54ea4407f1b68d10bd230d9002aca3f Binary files /dev/null and b/src/main/icons/mac/512.png differ diff --git a/src/main/icons/mac/512@2x.png b/src/main/icons/mac/512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c8691dd52d9a3cfa4ed7d8bcfe92be80f4e835 Binary files /dev/null and b/src/main/icons/mac/512@2x.png differ diff --git a/src/main/python/main.py b/src/main/python/main.py new file mode 100644 index 0000000000000000000000000000000000000000..420265cfdb7bb49f83c828de6e9e82b766716fdc --- /dev/null +++ b/src/main/python/main.py @@ -0,0 +1,63 @@ +from fbs_runtime.application_context import ApplicationContext +from PySide2.QtWidgets import * +from PySide2.QtNetwork import QTcpSocket + +import sys + +class MainWindow(QWidget): + def __init__(self): + super(MainWindow, self).__init__() + + # Add components + self.layout = QVBoxLayout(self) + self.chat = QTextEdit(self) + self.chat.setReadOnly(True) + self.lineEdit = QLineEdit(self) + self.sendButton = QPushButton(self) + self.sendButton.setText("Send") + + # Connect to sendText + self.lineEdit.returnPressed.connect(self.sendText) + self.sendButton.clicked.connect(self.sendText) + + # Conect TCP + self.socket = QTcpSocket(self) + self.socket.connectToHost("localhost", 33000) + self.socket.readyRead.connect(self.readText) + + # Set layout + self.layout.addWidget(self.chat) + self.layout.addWidget(self.lineEdit) + self.layout.addWidget(self.sendButton) + + # Set window settings + self.setWindowTitle("kszképzés chat") + self.setLayout(self.layout) + self.resize(350, 350) + + # Read text over TCP + def readText(self): + data = self.socket.readAll() + self.chat.append(str(data, 'utf-8')) + + # Write text text over TCP + def sendText(self): + self.socket.write(self.lineEdit.text().encode('utf-8')) + self.lineEdit.clear() + + # Send quit when the window is closed + def closeEvent(self, event): + self.socket.write("{quit}".encode('utf-8')) + +class AppContext(ApplicationContext): # 1. Subclass ApplicationContext + def run(self): # 2. Implement run() + window = MainWindow() + version = self.build_settings['version'] + window.setWindowTitle("chat v" + version) + window.show() + return self.app.exec_() # 3. End run() with this line + +if __name__ == '__main__': + appctxt = AppContext() # 4. Instantiate the subclass + exit_code = appctxt.run() # 5. Invoke run() + sys.exit(exit_code) \ No newline at end of file