A
No change. code sgenerated Qt Designer, Nowhere! Create another class that inherits from the relevant view
and use the established class to fill it.And I've already written to you about your question.
https://ru.stackoverflow.com/questions/1344035 ♪
Why don't you answer my comments in it?Your full annex with the forms is very large, so my response will not contain the forms contained in class Ui_MainWindow(object): and parts of the form contained in class Ui_Form(object):♪import sys
import os
import subprocess
import requests
from PyQt5 import QtCore, QtGui, QtWidgets # !!! ваши импорты для PySide6
from PyQt5.Qt import * # !!! ваши импорты для PySide6
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
# ... сюда вставьте <----<----<----<----<----
!!! TaskWidget
class TaskWidget(QWidget):
''' Signal для PySide6 !!!!!!!!!!!!
itemDeleted = Signal(QListWidgetItem)
itemEdited = Signal(QListWidgetItem)
itemStarted = Signal(QListWidgetItem)
itemStopped = Signal(QListWidgetItem)
'''
установите свое ^^^^^^
уберите мое vvvvvvvvvv
pyqtSignal для PyQt5 !!!!!!!!!!!!
itemDeleted = pyqtSignal(QListWidgetItem)
itemEdited = pyqtSignal(QListWidgetItem)
itemStarted = pyqtSignal(QListWidgetItem)
itemStopped = pyqtSignal(QListWidgetItem)
def __init__(self, item, data, *args, **kwargs):
super(TaskWidget, self).__init__(*args, **kwargs)
self._item = item
self.num_row = QLabel(self)
self.num_row.setObjectName(u"num_row")
self.num_row.setGeometry(QRect(9, 9, 24, 24))
self.num_row.setAlignment(Qt.AlignCenter)
self.site_row = QLabel(self)
self.site_row.setObjectName(u"site_row")
self.site_row.setGeometry(QRect(50, 9, 91, 24))
self.product_row = QLabel(self)
self.product_row.setObjectName(u"product_row")
self.product_row.setGeometry(QRect(150, 9, 161, 24))
self.size_row = QLabel(self)
self.size_row.setObjectName(u"size_row")
self.size_row.setGeometry(QRect(330, 9, 61, 24))
self.profile_row = QLabel(self)
self.profile_row.setObjectName(u"profile_row")
self.profile_row.setGeometry(QRect(405, 9, 81, 24))
self.proxy_row = QLabel(self)
self.proxy_row.setObjectName(u"proxy_row")
self.proxy_row.setGeometry(QRect(500, 9, 60, 24))
self.status_row = QLabel(self)
self.status_row.setObjectName(u"status_row")
self.status_row.setGeometry(QRect(580, 9, 191, 24))
self.status_row.setAlignment(Qt.AlignCenter)
self.start_row = QPushButton(self)
self.start_row.setObjectName(u"start_row")
self.start_row.setGeometry(QRect(781, 6, 26, 26))
icon1 = QIcon()
icon1.addFile(u"img/start.png", QSize(), QIcon.Normal, QIcon.Off)
self.start_row.setIcon(icon1)
self.start_row.setIconSize(QSize(26, 26))
self.stop_row = QPushButton(self)
self.stop_row.setObjectName(u"stop_row")
self.stop_row.setGeometry(QRect(820, 6, 26, 26))
icon2 = QIcon()
icon2.addFile(u"img/stop.png", QSize(), QIcon.Normal, QIcon.Off)
self.stop_row.setIcon(icon2)
self.stop_row.setIconSize(QSize(26, 26))
self.edit_row = QPushButton(self)
self.edit_row.setObjectName(u"edit_row")
self.edit_row.setGeometry(QRect(860, 6, 26, 26))
icon3 = QIcon()
icon3.addFile(u"img/pen.png", QSize(), QIcon.Normal, QIcon.Off)
self.edit_row.setIcon(icon3)
self.edit_row.setIconSize(QSize(26, 26))
self.delete_row = QPushButton(self)
self.delete_row.setObjectName(u"delete_row")
self.delete_row.setGeometry(QRect(900, 6, 26, 26))
self.start_row.clicked.connect(self.startItem)
self.stop_row.clicked.connect(self.stopItem)
self.delete_row.clicked.connect(self.deleteItem)
self.edit_row.clicked.connect(self.editItem)
icon4 = QIcon()
icon4.addFile(u"img/trash.png", QSize(), QIcon.Normal, QIcon.Off)
self.delete_row.setIcon(icon4)
self.delete_row.setIconSize(QSize(26, 26))
self.num_row.setText(QCoreApplication.translate("MainWindow", data['num'], None))
self.site_row.setText(QCoreApplication.translate("MainWindow", data['site'], None))
self.product_row.setText(QCoreApplication.translate("MainWindow", data['product'], None))
self.size_row.setText(QCoreApplication.translate("MainWindow", data['size'], None))
self.profile_row.setText(QCoreApplication.translate("MainWindow", data['profile'], None))
self.proxy_row.setText(QCoreApplication.translate("MainWindow", data['proxy'], None))
self.status_row.setText(QCoreApplication.translate("MainWindow", data['status'], None))
self.status_row.setStyleSheet(f"color: {data['color']}")
def deleteItem(self):
self.itemDeleted.emit(self._item)
def editItem(self):
self.itemEdited.emit(self._item)
def startItem(self):
self.itemStarted.emit(self._item)
def stopItem(self):
self.itemStopped.emit(self._item)
class Ui_Form(object):
# ... сюда вставьте <----<----<----<----<----<----<----
def retranslateUi(self, Form):
Form.setWindowTitle(QCoreApplication.translate("Form", u"Centurion AIO", None))
self.left_back.setText("")
self.right_back.setText("")
self.enter_your_label.setText(QCoreApplication.translate("Form", u"Enter your license key:", None))
self.response_text.setText(QCoreApplication.translate("Form", u"", None))
self.input_key.setPlaceholderText(QCoreApplication.translate("Form", u"license key", None))
try:
with open('upls\key.txt', 'r') as key:
key1 = key.readlines()[0]
except:
pass
else:
self.input_key.setText(QCoreApplication.translate("Form", str(key1), None))
self.loginButton.setText(QCoreApplication.translate("Form", u"Log In", None))
self.exit_button.setText(QCoreApplication.translate("Form", u"X", None))
class MoveStartWindow(QtWidgets.QWidget, Ui_Form):
def init(self):
super().init()
self.setupUi(self)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground)
self.old_pos = None
self.exit_button.clicked.connect(lambda: self.close())
self.loginButton.clicked.connect(self.check_status)
def check_status(self):
print(self.input_key.text())
self.main_window()
def get_id(self):
current_machine_id = str(subprocess.check_output('wmic csproduct get uuid'), 'utf-8').split('\n')[1].strip()
return current_machine_id
def main_window(self):
headers = {
'Content-type': 'application/json'
}
data = {
"key": self.input_key.text(),
"device": self.get_id(),
"id": "604a002dd52644b19441776d",
}
r = requests.post(
'https://api.cactusweb.io/api/v1/devices',
headers=headers,
json=data
)
if r.status_code == 400:
self.response_text.setStyleSheet(u"color: rgb(255, 0, 0);")
self.response_text.setText(QCoreApplication.translate("Form", u"Access Denied", None))
elif r.status_code == 202:
self.response_text.setStyleSheet(u"color: rgb(0, 170, 0);")
self.response_text.setText(QCoreApplication.translate("Form", u"Logged succsefully", None))
os.system('cls')
elif r.status_code == 200:
self.response_text.setStyleSheet(u"color: rgb(0, 170, 0);")
self.response_text.setText(QCoreApplication.translate("Form", u"Logged succsefully", None))
# Create the Qt Application
self.main_form = QMainWindow()
# Create and show the form
license_key_not_found = False
try:
with open('upls\key.txt', 'r') as lickey:
lickey1 = lickey.readlines()
license_key = lickey1[0]
if license_key != self.input_key.text():
write_key = open('upls\key.txt', 'w')
write_key.write(self.input_key.text())
write_key.close()
except:
license_key_not_found = True
write_key = open('upls\key.txt', 'w')
write_key.write(self.input_key.text())
write_key.close()
self.mainWindow = Ui_MainWindow()
self.mainWindow.setupUi(self.main_form)
self.main_form.show()
self.mainWindow = MainWindow() # +++
self.mainWindow.show() # +++
self.hide() # +++
os.system('cls')
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self.old_pos = event.pos()
def mouseReleaseEvent(self, event):
if event.button() == Qt.LeftButton:
self.old_pos = None
def mouseMoveEvent(self, event):
if not self.old_pos:
return
delta = event.pos() - self.old_pos
self.move(self.pos() + delta)
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): # !!!
def init(self):
super().init()
self.setupUi(self) # !!!
self.tabs_widget.setCurrentIndex(1)
??? self.pos = self.pos()
self.setWindowFlags(Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground)
self.exit_button.clicked.connect(lambda: self.close())
self.hide_button.clicked.connect(lambda: self.showMinimized())
self.app_core(self)
self.app_core()
+++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
self.old_pos = None
# вызывается при нажатии кнопки мыши
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self.old_pos = event.pos()
# вызывается при отпускании кнопки мыши
def mouseReleaseEvent(self, event):
if event.button() == Qt.LeftButton:
self.old_pos = None
# вызывается всякий раз, когда мышь перемещается
def mouseMoveEvent(self, event):
if not self.old_pos:
return
delta = event.pos() - self.old_pos
self.move(self.pos() + delta)
+++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
def app_core(self):
??? self.pos = self.pos()
self.tasks_num = 0
self.set_containers()
self.update_comboboxes('proxy')
self.update_comboboxes('profiles')
self.task_creator.clicked.connect(lambda: self.tabs_widget.setCurrentIndex(0))
self.tasks.clicked.connect(lambda: self.tabs_widget.setCurrentIndex(1))
self.billing.clicked.connect(self.show_profiles_tab)
self.proxies.clicked.connect(self.show_proxy_tab)
self.settings.clicked.connect(self.show_settings_tab)
self.save_settings_button.clicked.connect(self.save_settings)
self.create_proxy_button.clicked.connect(self.add_proxy)
self.create_profile_button.clicked.connect(self.add_profile)
# self.test_webhook_button.clicked.connect(self.send_test_webhook)
self.add_taskBtn.clicked.connect(self.add_task)
self.enter_site_combo.currentTextChanged.connect(self.check_combobox)
def start_task(self, item):
for i in self.tasks_container:
if self.tasks_container[i]['item'] == item:
data = self.tasks_container[i]
break
if data['site'] == 'Aliexpress':
self.active_tasks.append((item, Aliexpress(data, self.settings_container)))
elif data['site'] == 'Basketshop':
self.active_tasks.append((item, Basketshop(data, self.settings_container)))
elif data['site'] == 'Svyaznoy':
self.active_tasks.append((item, Svyaznoy(data, self.settings_container)))
elif data['site'] == 'Sneakerhead':
self.active_tasks.append((item, Sneakerhead(data, self.settings_container)))
elif data['site'] == 'Brandshop':
self.active_tasks.append((item, Brandshop(data, self.settings_container)))
elif data['site'] == 'Wildberries':
self.active_tasks.append((item, WbBot(data, self.settings_container)))
elif data['site'] == 'BrandshopAccGen':
self.active_tasks.append((item, BrandshopAccGen(data, self.settings_container)))
elif data['site'] == 'BeliefMoscow':
self.active_tasks.append((item, BeliefMoscow(data, self.settings_container)))
elif data['site'] == 'EldoradoFormReg':
print(1)
# self.active_tasks.append((item, EldoradoFormReg(data, self.settings_container)))
else:
print(data['site'])
self.active_tasks[-1][1].send_status.connect(lambda info: self.set_status(info, i))
self.active_tasks[-1][1].stop_task.connect(self.stop_task)
self.active_tasks[-1][1].setTerminationEnabled(True)
self.active_tasks[-1][1].start()
def set_status(self, info: dict, i):
data = self.tasks_container[i]
data['status'] = info['status']
data['color'] = info['color']
self.change_data(i, data)
def stop_task(self, item):
try:
self.active_tasks[-1][1].stop()
except:
pass
for i in self.tasks_container:
if self.tasks_container[i]['item'] == item:
break
for j in range(len(self.active_tasks)):
if self.active_tasks[j] == item:
break
self.active_tasks.pop(j)
info = {'status': 'Stop', 'color': 'red'}
self.set_status(info, i)
def add_proxy(self):
data = dict()
self.proxies_container[self.proxy_input.toPlainText()] = data
self.update_comboboxes('proxy')
self.create_proxy_indicator.show()
def check_combobox(self):
data = dict()
data['site'] = self.enter_site_combo.currentText()
if data['site'] == "Aliexpress":
data['cookie'] = self.enter_cookie_combo.hide()
data['cookie'] = self.enter_cookie_label.hide()
data['size'] = self.enter_size_combo.hide()
data['size'] = self.enter_size_label.hide()
data['test'] = self.enter_test_input.hide()
data['test'] = self.enter_test_label.hide()
self.size_frame.setMinimumSize(QSize(0, 0))
self.size_frame.setMaximumSize(QSize(0, 0))
self.cookie_frame.setMinimumSize(QSize(0, 0))
self.cookie_frame.setMaximumSize(QSize(0, 0))
elif data['site'] == "Basketshop":
data['test'] = self.enter_test_input.hide()
data['test'] = self.enter_test_label.hide()
data['cookie'] = self.enter_cookie_combo.show()
data['cookie'] = self.enter_cookie_label.show()
data['size'] = self.enter_size_combo.show()
data['size'] = self.enter_size_label.show()
self.size_frame.setMinimumSize(QSize(944, 70))
self.size_frame.setMaximumSize(QSize(944, 70))
self.cookie_frame.setMinimumSize(QSize(944, 60))
self.cookie_frame.setMaximumSize(QSize(944, 60))
elif data['site'] == "Svyaznoy":
data['test'] = self.test_frame.show()
data['test'] = self.enter_test_input.show()
data['test'] = self.enter_test_label.show()
def add_profile(self):
data = dict()
if self.profile_name_input.text() != '':
self.profiles_container[self.profile_name_input.text()] = data
self.update_comboboxes('profiles')
if self.skip1_name_input.text() != '':
self.skip_container[self.skip1_name_input.text()] = data
self.update_comboboxes('skips')
if self.cookie1_name_input.text() != '':
self.cookie_container[self.cookie1_name_input.text()] = data
self.update_comboboxes('cookie')
self.create_profile_indicator.show()
"""def send_test_webhook(self):
embed1 = Webhook(self.settings_container['webhook'], color=0x6dff1f)
embed1.set_footer(text='Centurion AIO ©', ts=False)
embed1.post()"""
def save_settings(self):
self.settings_container['webhook'] = self.webhook_input.text()
self.settings_container['2captcha'] = self.captcha_input.text()
self.settings_container['onlinesim'] = self.onlinesim_input.text()
f = open('upl\settings.txt', 'w')
f.close()
with open('upl\settings.txt', 'a') as e:
e.write(self.settings_container['webhook'] + '\n' + self.settings_container['2captcha'] + '\n' +
self.settings_container['onlinesim'])
self.save_indicator.show()
def add_task(self):
data = dict()
self.tasks_num += 1
data['num'] = str(self.tasks_num)
data['site'] = self.enter_site_combo.currentText()
data['profile'] = self.enter_profile_combo.currentText()
data['product'] = self.enter_product_input.text()
data['size'] = self.enter_size_combo.text()
data['skip'] = self.enter_skip_combo.currentText()
data['cookie'] = self.enter_cookie_combo.currentText()
data['test'] = self.enter_test_input.text()
if data['size'] == '':
data['size'] = 'No Size'
data['proxy'] = self.proxy_input.toPlainText()
data['keyword'] = self.enter_keyword_input.text()
item = QListWidgetItem(self.listWidget)
item.setSizeHint(QSize(944, 40))
data['item'] = item
print(data['item'])
data['color'] = 'red'
data['status'] = 'Stop'
!!! TaskWidget
widget = TaskWidget(item, data)
widget.itemDeleted.connect(self.deleteTask)
widget.itemEdited.connect(self.editTask)
widget.itemStarted.connect(self.start_task)
widget.itemStopped.connect(self.stop_task)
# Binding delete signal
self.listWidget.setItemWidget(item, widget)
self.tasks_container[self.tasks_num] = data
del data
def deleteTask(self, item):
self.tasks_num -= 1
row = self.listWidget.indexFromItem(item).row()
item = self.listWidget.takeItem(row)
self.listWidget.removeItemWidget(item)
del item
def editTask(self, item):
for t in self.tasks_container:
if self.tasks_container[t]['item'] == item:
break
dialog = Ui_Dialog(self.tasks_container[t], self.profiles_container, self.proxies_container,
self.skip_container, self.cookie_container)
dialog.itemEdit.connect(lambda data: self.change_data(t, data))
center = QScreen.availableGeometry(QApplication.primaryScreen()).center()
dialog.move(center.x() - 400, center.y() - 275)
if dialog.exec() == QDialog.Accepted:
print('edited')
else:
print('cancelled')
def change_data(self, i, data):
row = self.listWidget.indexFromItem(data['item']).row()
item = self.listWidget.takeItem(row)
self.listWidget.removeItemWidget(item)
self.listWidget.insertItem(row, data['item'])
!!! TaskWidget
widget = TaskWidget(data['item'], data)
widget.itemDeleted.connect(self.deleteTask)
widget.itemEdited.connect(self.editTask)
widget.itemStarted.connect(self.start_task)
widget.itemStopped.connect(self.stop_task)
self.listWidget.setItemWidget(data['item'], widget)
self.tasks_container[i] = data
def update_comboboxes(self, tab):
if tab == 'profiles':
names = list(self.profiles_container.keys())
count = self.enter_profile_combo.count()
for i in range(count):
self.enter_profile_combo.removeItem(0)
for i in range(len(names)):
self.enter_profile_combo.addItem(names[i])
elif tab == 'skips':
names = list(self.skip_container.keys())
count = self.enter_skip_combo.count()
for i in range(count):
self.enter_skip_combo.removeItem(0)
for i in range(len(names)):
self.enter_skip_combo.addItem(names[i])
elif tab == 'cookie':
names = list(self.cookie_container.keys())
count = self.enter_cookie_combo.count()
for i in range(count):
self.enter_cookie_combo.removeItem(0)
for i in range(len(names)):
self.enter_cookie_combo.addItem(names[i])
def set_containers(self):
self.tasks_container = dict()
self.profiles_container = {'No accounts': {}}
self.proxies_container = {'Local': {}}
self.skip_container = {'No Skip': {}}
self.cookie_container = {'No Cookie': {}}
self.settings_container = dict()
self.active_tasks = list()
self.save_settings()
# FIXME: добавить загрузку данных из реестра
def show_settings_tab(self):
self.save_indicator.hide()
self.tabs_widget.setCurrentIndex(3)
def show_proxy_tab(self):
self.create_proxy_indicator.hide()
self.tabs_widget.setCurrentIndex(4)
def show_profiles_tab(self):
self.create_profile_indicator.hide()
self.tabs_widget.setCurrentIndex(2)
if name == "main":
app = QApplication(sys.argv)
w = MoveStartWindow() # !!!
w.show() # !!!
sys.exit(app.exec())