added pyside gui
This commit is contained in:
parent
eff36bd9e0
commit
d24d53116f
45
src/pyside6/gui_pyside6.py
Normal file
45
src/pyside6/gui_pyside6.py
Normal file
@ -0,0 +1,45 @@
|
||||
import sys
|
||||
sys.path.append('d:/PoeTrader')
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QTabWidget
|
||||
from PySide6 import QtCore
|
||||
from trade_widget import TradeCollection
|
||||
from src.data import Message
|
||||
from src import config
|
||||
|
||||
|
||||
class MainWindow(QMainWindow):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
config.read_config(r'config.yaml')
|
||||
self.button_is_checked = True
|
||||
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
|
||||
# self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
||||
|
||||
text = '2021/03/08 23:24:52 17931875 bb3 [INFO Client 1492] @From Sinusal: Hi, I would like to buy your level 21 23% Vaal Impurity of Lightning ' \
|
||||
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
|
||||
message = Message.from_text(text)
|
||||
self.setWindowTitle("My App")
|
||||
|
||||
self.main_widget = QTabWidget()
|
||||
|
||||
# self.main_layout = QVBoxLayout()
|
||||
if message:
|
||||
trade_collection = TradeCollection(message)
|
||||
trade_collection.add_trade(message)
|
||||
self.main_widget.addTab(trade_collection, 'Hello')
|
||||
self.main_widget.addTab(TradeCollection(message), 'Hello2')
|
||||
# self.main_layout.addWidget(TradeWidget(message))
|
||||
|
||||
self.setCentralWidget(self.main_widget)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
app = QApplication(sys.argv)
|
||||
app.setStyle('Material')
|
||||
|
||||
window = MainWindow()
|
||||
window.show()
|
||||
|
||||
app.exec()
|
79
src/pyside6/trade_widget.py
Normal file
79
src/pyside6/trade_widget.py
Normal file
@ -0,0 +1,79 @@
|
||||
from PySide6.QtWidgets import QPushButton, QHBoxLayout, QVBoxLayout, QWidget, QLabel
|
||||
from src.data import Message
|
||||
from src import sendkeys
|
||||
|
||||
|
||||
class TradeWidget(QWidget):
|
||||
"""docstring for TradeWidget."""
|
||||
|
||||
def __init__(self,
|
||||
message: Message,
|
||||
parent):
|
||||
super(TradeWidget, self).__init__(parent=parent)
|
||||
self.message = message
|
||||
self.parent = parent
|
||||
|
||||
self.main_layout = QHBoxLayout()
|
||||
self.setLayout(self.main_layout)
|
||||
self.label_item = QLabel(message.trade.item)
|
||||
self.label_price = QLabel(f'{message.trade.amount} {message.trade.currency}')
|
||||
|
||||
self.inv_button = QPushButton('inv')
|
||||
self.trade_button = QPushButton('trade')
|
||||
self.thank_button = QPushButton('ty')
|
||||
self.wait_button = QPushButton('wait')
|
||||
self.del_button = QPushButton('X')
|
||||
|
||||
self.inv_button.clicked.connect(self.inv_callback)
|
||||
self.trade_button.clicked.connect(self.trade_callback)
|
||||
self.thank_button.clicked.connect(self.thank_callback)
|
||||
self.wait_button.clicked.connect(self.wait_callback)
|
||||
self.del_button.clicked.connect(self.delete_callback)
|
||||
|
||||
self.main_layout.addWidget(self.label_item)
|
||||
self.main_layout.addWidget(self.label_price)
|
||||
self.main_layout.addWidget(self.inv_button)
|
||||
self.main_layout.addWidget(self.trade_button)
|
||||
self.main_layout.addWidget(self.thank_button)
|
||||
self.main_layout.addWidget(self.wait_button)
|
||||
self.main_layout.addWidget(self.del_button)
|
||||
|
||||
def inv_callback(self):
|
||||
sendkeys.invite(message=self.message)
|
||||
sendkeys.send_to_format(type='pickup', message=self.message)
|
||||
|
||||
def thank_callback(self):
|
||||
sendkeys.send_to_format(type='ty', message=self.message)
|
||||
sendkeys.kick(message=self.message)
|
||||
self.deleteLater()
|
||||
|
||||
def trade_callback(self):
|
||||
sendkeys.trade(message=self.message)
|
||||
|
||||
def wait_callback(self):
|
||||
sendkeys.send_to_format(type='wait', message=self.message)
|
||||
|
||||
def delete_callback(self):
|
||||
self.deleteLater()
|
||||
self.parent.del_trade(self)
|
||||
|
||||
|
||||
class TradeCollection(QWidget):
|
||||
"""docstring for TradeCollection."""
|
||||
def __init__(self, message: Message):
|
||||
super(TradeCollection, self).__init__()
|
||||
self.main_layout = QVBoxLayout()
|
||||
self.setLayout(self.main_layout)
|
||||
trade = TradeWidget(message, self)
|
||||
self.main_layout.addWidget(trade)
|
||||
self.counter = 1
|
||||
|
||||
def add_trade(self, message: Message) -> None:
|
||||
trade = TradeWidget(message, self)
|
||||
self.main_layout.addWidget(trade)
|
||||
self.counter += 1
|
||||
|
||||
def del_trade(self, trade: TradeWidget):
|
||||
self.counter -= 1
|
||||
if self.counter == 0:
|
||||
self.deleteLater()
|
Loading…
x
Reference in New Issue
Block a user