closed button on tab
This commit is contained in:
parent
69a04199c1
commit
fdc55ca802
@ -11,31 +11,16 @@ class MainWindow(QMainWindow):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
conf = config.read_config(r'config.yaml')
|
|
||||||
compile_regex(conf)
|
|
||||||
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
|
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
|
||||||
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
||||||
|
|
||||||
self.trades = {}
|
self.trades = {}
|
||||||
|
|
||||||
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)'
|
|
||||||
text2 = '2021/03/08 23:24:52 17931875 bb3 [INFO Client 1492] @From NiceGuy: 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)'
|
|
||||||
text3 = '2023/01/02 23:57:26 15123437 cffb0734 [INFO Client 16668] @From <SETSU?> LASTTRYPOEenjoyer: Hi, I would like to buy your Watcher\'s Eye, Prismatic Jewel listed for 2.5 divine in Sanctum (stash tab "$2"; position: left 8, top 7)'
|
|
||||||
message = Message.from_text(text)
|
|
||||||
message2 = Message.from_text(text2)
|
|
||||||
message3 = Message.from_text(text3)
|
|
||||||
self.setWindowTitle("My App")
|
self.setWindowTitle("My App")
|
||||||
|
|
||||||
self.main_widget = QTabWidget()
|
self.main_widget = QTabWidget(self)
|
||||||
|
self.main_widget.setTabsClosable(True)
|
||||||
# self.main_layout = QVBoxLayout()
|
self.main_widget.tabCloseRequested.connect(self.del_tab)
|
||||||
self.new_trade(message)
|
|
||||||
self.new_trade(message)
|
|
||||||
self.new_trade(message2)
|
|
||||||
self.new_trade(message3)
|
|
||||||
|
|
||||||
self.setCentralWidget(self.main_widget)
|
self.setCentralWidget(self.main_widget)
|
||||||
|
|
||||||
def new_trade(self, message: Message):
|
def new_trade(self, message: Message):
|
||||||
@ -45,8 +30,9 @@ class MainWindow(QMainWindow):
|
|||||||
self.trades[unique_item].add_trade(message)
|
self.trades[unique_item].add_trade(message)
|
||||||
else:
|
else:
|
||||||
collection = TradeCollection(message, self)
|
collection = TradeCollection(message, self)
|
||||||
|
index = self.main_widget.addTab(collection, message.trade.item)
|
||||||
|
collection.index = index
|
||||||
self.trades[message.trade.unique_item()] = collection
|
self.trades[message.trade.unique_item()] = collection
|
||||||
self.main_widget.addTab(collection, message.trade.item)
|
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
def del_collection(self, unique_item: str):
|
def del_collection(self, unique_item: str):
|
||||||
@ -55,11 +41,28 @@ class MainWindow(QMainWindow):
|
|||||||
self.hide()
|
self.hide()
|
||||||
|
|
||||||
|
|
||||||
|
def del_tab(self, index: int):
|
||||||
|
self.trades[self.main_widget.widget(index).unique_item].deleteLater()
|
||||||
|
del self.trades[self.main_widget.widget(index).unique_item]
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
pass
|
conf = config.read_config(r'config.yaml')
|
||||||
|
compile_regex(conf)
|
||||||
|
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)'
|
||||||
|
text2 = '2021/03/08 23:24:52 17931875 bb3 [INFO Client 1492] @From NiceGuy: 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)'
|
||||||
|
text3 = '2023/01/02 23:57:26 15123437 cffb0734 [INFO Client 16668] @From <SETSU?> LASTTRYPOEenjoyer: Hi, I would like to buy your Watcher\'s Eye, Prismatic Jewel listed for 2.5 divine in Sanctum (stash tab "$2"; position: left 8, top 7)'
|
||||||
|
message = Message.from_text(text)
|
||||||
|
message2 = Message.from_text(text2)
|
||||||
|
message3 = Message.from_text(text3)
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
app.setStyle('Material')
|
app.setStyle('Material')
|
||||||
|
|
||||||
window = MainWindow()
|
window = MainWindow()
|
||||||
|
window.new_trade(message)
|
||||||
|
window.new_trade(message)
|
||||||
|
window.new_trade(message2)
|
||||||
|
window.new_trade(message3)
|
||||||
|
|
||||||
app.exec()
|
app.exec()
|
||||||
|
@ -68,6 +68,7 @@ class TradeCollection(QWidget):
|
|||||||
parent):
|
parent):
|
||||||
super(TradeCollection, self).__init__()
|
super(TradeCollection, self).__init__()
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
|
self.unique_item = message.trade.unique_item()
|
||||||
self.main_layout = QVBoxLayout()
|
self.main_layout = QVBoxLayout()
|
||||||
self.setLayout(self.main_layout)
|
self.setLayout(self.main_layout)
|
||||||
trade = TradeWidget(message, self)
|
trade = TradeWidget(message, self)
|
||||||
@ -84,5 +85,5 @@ class TradeCollection(QWidget):
|
|||||||
def del_trade(self, message: Message):
|
def del_trade(self, message: Message):
|
||||||
del self.trades[message.trade.__hash__]
|
del self.trades[message.trade.__hash__]
|
||||||
if not self.trades:
|
if not self.trades:
|
||||||
self.parent.del_collection(message.trade.unique_item())
|
self.parent.del_collection(self.unique_item)
|
||||||
self.deleteLater()
|
self.deleteLater()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user