Безрамочное открытие QWidget с другого файла QMainWindow
Делаю приложение и дизайн в нём сделал безрамочным для красоты.
По отдельности 2 .py файла открываются нормально без рамки, а одно через другое по кнопке не открывается.
Код главного файла который будет открывать остальные:
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QDialog
from PyQt5.QtCore import Qt
from menu import Ui_MainWindow
from proxy import ProxySettings
from info import Ui_InfoTab
import sys
class Checker(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground)
self._old_pos = None
self.buttons()
self.check.setCheckable(True)
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 buttons(self):
self.browse_btn.clicked.connect(self.browse_base)
self.close_btn.clicked.connect(self.close)
#self.gate_save.clicked.connect(self.save_gate)
self.check.clicked.connect(self.start_check)
self.settings_btn.clicked.connect(self.open_settings)
def start_check(self):
if self.check.isChecked():
self.status_code.setText("WORK")
#self.status_code.adjustSize()
self.status_code.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(85, 255, 0);")
self.status_code.update()
self.check_progress.setProperty("value", 100)
self.check.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(255, 42, 0);\n"
"color: rgb(255, 255, 255);\n")
else:
self.status_code.setText("STOPPED")
#self.status_code.adjustSize()
self.status_code.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(255, 0, 0);")
self.check.update()
self.check_progress.setProperty("value", 0)
self.check.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);")
def browse_base(self):
option = QFileDialog.Options()
file = QFileDialog.getOpenFileName(self, "Commercial Base", "", "TXT Files (*.txt)", options=option)
self.cc_path.setText(file[0])
def open_settings(self):
mw = ProxySettings()
mw.show()
#global ProxyTab
#ProxyTab = QtWidgets.QDialog()
#ui = ProxySettings()
#ui.setupUi(ProxyTab)
#ProxyTab.show()
#w.hide()
if __name__ == '__main__':
app = QApplication([])
w = Checker()
#w.resize(400, 400)
w.show()
app.exec_()
Код файла menu (то что открывается первым):
from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5.QtCore import Qt
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QIcon
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(301, 371)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setGeometry(QtCore.QRect(10, 10, 281, 351))
self.frame.setStyleSheet("background-color: rgb(39, 39, 39); border-radius: 10px;")
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.close_btn = QtWidgets.QPushButton(self.frame)
self.close_btn.setGeometry(QtCore.QRect(250, 10, 22, 22))
self.close_btn.setStyleSheet("border-radius: 10px;\n"
"background-color: rgb(255, 0, 0);\n"
"selection-background-color: rgb(212, 0, 0);")
self.close_btn.setText("")
self.close_btn.setObjectName("close_btn")
self.check = QtWidgets.QPushButton(self.frame)
self.check.setGeometry(QtCore.QRect(100, 290, 81, 35))
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(8)
font.setBold(False)
font.setItalic(False)
font.setWeight(10)
self.check.setFont(font)
self.check.setToolTipDuration(1)
self.check.setAutoFillBackground(False)
self.check.setStyleSheet("border-radius: 15px;\n"
"background-color: rgb(0, 170, 255);\n"
"font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.check.setObjectName("check")
self.cc_path = QtWidgets.QLineEdit(self.frame)
self.cc_path.setGeometry(QtCore.QRect(30, 140, 131, 23))
self.cc_path.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.cc_path.setObjectName("cc_path")
self.browse_btn = QtWidgets.QPushButton(self.frame)
self.browse_btn.setGeometry(QtCore.QRect(170, 140, 71, 23))
self.browse_btn.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.browse_btn.setObjectName("browse_btn")
# self.hide_btn = QtWidgets.QPushButton(self.frame)
# self.hide_btn.setGeometry(QtCore.QRect(220, 10, 22, 22))
# self.hide_btn.setStyleSheet("border-radius: 10px;\n"
#"background-color: rgb(0, 170, 255);\n"
#"selection-background-color: rgb(0, 145, 215);")
# self.hide_btn.setText("")
# self.hide_btn.setObjectName("hide_btn")
self.settings_btn = QtWidgets.QPushButton(self.frame)
self.settings_btn.setGeometry(QtCore.QRect(10, 10, 22, 22))
self.settings_btn.setStyleSheet("border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.settings_btn.setText("")
self.settings_btn.setIcon(QIcon('UI/settings.png'))
self.settings_btn.setObjectName("settings_btn")
self.status_code = QtWidgets.QLabel(self.frame)
self.status_code.setGeometry(QtCore.QRect(150, 50, 81, 16))
self.status_code.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(255, 0, 0);")
self.status_code.setObjectName("status_code")
self.status_label = QtWidgets.QLabel(self.frame)
self.status_label.setGeometry(QtCore.QRect(80, 50, 61, 16))
self.status_label.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);")
self.status_label.setObjectName("status_label")
self.check_progress = QtWidgets.QProgressBar(self.frame)
self.check_progress.setGeometry(QtCore.QRect(30, 90, 221, 23))
self.check_progress.setStyleSheet("QProgressBar{\n"
" border-radius: 10px;\n"
" background-color: rgb(236, 236, 236);\n"
" color: rgb(0, 170, 255);\n"
"}\n"
"QProgressBar::chunk{\n"
" border-radius: 10px;\n"
" background-color: rgb(0, 170, 255);\n"
"}")
self.check_progress.setProperty("value", 24)
self.check_progress.setObjectName("progressBar")
self.gate_save = QtWidgets.QPushButton(self.frame)
self.gate_save.setGeometry(QtCore.QRect(170, 190, 71, 23))
self.gate_save.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.gate_save.setObjectName("gate_save")
self.gate_list = QtWidgets.QComboBox(self.frame)
self.gate_list.setGeometry(QtCore.QRect(30, 190, 131, 22))
self.gate_list.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.gate_list.setObjectName("gate_list")
self.browse_info = QtWidgets.QPushButton(self.frame)
self.browse_info.setGeometry(QtCore.QRect(250, 140, 16, 23))
self.browse_info.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 20px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.browse_info.setObjectName("browse_info")
self.save_info = QtWidgets.QPushButton(self.frame)
self.save_info.setGeometry(QtCore.QRect(250, 190, 16, 23))
self.save_info.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 20px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.save_info.setObjectName("save_info")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.check.setText(_translate("MainWindow", "Start"))
self.cc_path.setPlaceholderText(_translate("MainWindow", " Comm Base Path"))
self.browse_btn.setText(_translate("MainWindow", "Browse"))
self.status_code.setText(_translate("MainWindow", "STOPPED"))
self.status_label.setText(_translate("MainWindow", "STATUS:"))
self.gate_save.setText(_translate("MainWindow", "Save"))
self.browse_info.setText(_translate("MainWindow", "i"))
self.save_info.setText(_translate("MainWindow", "i"))
class Widget(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground)
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)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
И код файла который должен открываться по кнопке настроек:
from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5.QtCore import Qt
from PyQt5.Qt import *
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QIcon
class Ui_ProxyTab(object):
def setupUi(self, ProxyTab):
ProxyTab.setObjectName("ProxyTab")
ProxyTab.resize(441, 369)
self.frame = QtWidgets.QFrame(ProxyTab)
self.frame.setGeometry(QtCore.QRect(10, 10, 421, 351))
self.frame.setStyleSheet("background-color: rgb(39, 39, 39); border-radius: 10px;")
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.close = QtWidgets.QPushButton(self.frame)
self.close.setGeometry(QtCore.QRect(390, 10, 22, 22))
self.close.setStyleSheet("border-radius: 10px;\n"
"background-color: rgb(255, 0, 0);")
self.close.setText("")
self.close.setObjectName("close")
self.proxytab = QtWidgets.QWidget(self.frame)
self.proxytab.setGeometry(QtCore.QRect(110, 40, 301, 251))
self.proxytab.setObjectName("proxytab")
self.use_proxy = QtWidgets.QCheckBox(self.proxytab)
self.use_proxy.setGeometry(QtCore.QRect(10, 10, 101, 17))
self.use_proxy.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);")
self.use_proxy.setObjectName("use_proxy")
# self.use_proxy.stateChanged.connect(self.proxy_checkbox)
self.proxy_line = QtWidgets.QLineEdit(self.proxytab)
self.proxy_line.setGeometry(QtCore.QRect(10, 170, 131, 22))
self.proxy_line.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.proxy_line.hide()
self.proxy_line.setObjectName("proxy_line")
self.add_proxy = QtWidgets.QPushButton(self.proxytab)
self.add_proxy.setGeometry(QtCore.QRect(150, 170, 61, 22))
self.add_proxy.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.add_proxy.hide()
self.add_proxy.setObjectName("add_proxy")
self.remove_proxy = QtWidgets.QPushButton(self.proxytab)
self.remove_proxy.setGeometry(QtCore.QRect(220, 170, 61, 22))
self.remove_proxy.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.remove_proxy.hide()
self.remove_proxy.setObjectName("remove_proxy")
self.proxy_list = QtWidgets.QListWidget(self.proxytab)
self.proxy_list.setGeometry(QtCore.QRect(10, 40, 271, 121))
self.proxy_list.hide()
self.proxy_list.setStyleSheet("background-color: rgb(236, 236, 236);")
self.proxy_list.setObjectName("proxy_list")
self.save = QtWidgets.QPushButton(self.frame)
self.save.setGeometry(QtCore.QRect(210, 300, 101, 35))
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(8)
font.setBold(False)
font.setItalic(False)
font.setWeight(10)
self.save.setFont(font)
self.save.setToolTipDuration(1)
self.save.setAutoFillBackground(False)
self.save.setStyleSheet("border-radius: 15px;\n"
"background-color: rgb(0, 170, 255);\n"
"font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.save.setObjectName("check")
self.proxywindow = QtWidgets.QPushButton(self.frame)
self.proxywindow.setGeometry(QtCore.QRect(10, 40, 91, 23))
self.proxywindow.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 5px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.proxywindow.setObjectName("proxywindow")
self.infowindow = QtWidgets.QPushButton(self.frame)
self.infowindow.setGeometry(QtCore.QRect(10, 310, 91, 23))
self.infowindow.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 5px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.infowindow.setObjectName("infowindow")
self.retranslateUi(ProxyTab)
QtCore.QMetaObject.connectSlotsByName(ProxyTab)
def retranslateUi(self, ProxyTab):
_translate = QtCore.QCoreApplication.translate
ProxyTab.setWindowTitle(_translate("Dialog", "Dialog"))
self.use_proxy.setText(_translate("Dialog", "Use Proxy"))
self.proxy_line.setPlaceholderText(_translate("Dialog", " ip:port:login:password"))
self.add_proxy.setText(_translate("Dialog", "Add"))
self.remove_proxy.setText(_translate("Dialog", "Remove"))
self.save.setText(_translate("Dialog", "Save"))
self.proxywindow.setText(_translate("Dialog", "Proxy"))
self.infowindow.setText(_translate("Dialog", "Info"))
# ------------> vvvvvvv<>vvvvvvvvvvv <---------------------------------
class ProxySettings(QWidget, Ui_ProxyTab):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowFlags(Qt.FramelessWindowHint) # вот эти 2 аттрибута
self.setAttribute(Qt.WA_TranslucentBackground) # работают
self.use_proxy.stateChanged.connect(self.proxy_checkbox)
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 proxy_checkbox(self):
if self.use_proxy.isChecked():
self.proxy_line.show()
self.add_proxy.show()
self.remove_proxy.show()
self.proxy_list.show()
else:
self.proxy_line.hide()
self.add_proxy.hide()
self.remove_proxy.hide()
self.proxy_list.hide()
#if __name__ == '__main__':
# import sys
# app = QApplication(sys.argv)
# mw = ProxySettings()
# mw.show()
# sys.exit(app.exec_())
Дизайн делался через QtDesigner.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Я отметил для вас изменения, которые внес.
Основное то, что объект mw должен быть атрибутом класса:
# ----> vvvv <-------------------------------------------------------------
self.mw = ProxySettings() # !!! self
q1469440_main.py:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QDialog
from PyQt5.QtCore import Qt
from q1469440_menu import Ui_MainWindow
from q1469440_proxy import ProxySettings
# ??? from q1469440_info import Ui_InfoTab # ???
class Checker(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground)
self._old_pos = None
self.buttons()
self.check.setCheckable(True)
# +++
self.mw = 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 buttons(self):
self.browse_btn.clicked.connect(self.browse_base)
self.close_btn.clicked.connect(self.close)
#self.gate_save.clicked.connect(self.save_gate)
self.check.clicked.connect(self.start_check)
self.settings_btn.clicked.connect(self.open_settings)
def start_check(self):
if self.check.isChecked():
self.status_code.setText("WORK")
#self.status_code.adjustSize()
self.status_code.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(85, 255, 0);")
self.status_code.update()
self.check_progress.setProperty("value", 100)
self.check.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(255, 42, 0);\n"
"color: rgb(255, 255, 255);\n")
else:
self.status_code.setText("STOPPED")
#self.status_code.adjustSize()
self.status_code.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(255, 0, 0);")
self.check.update()
self.check_progress.setProperty("value", 0)
self.check.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);")
def browse_base(self):
option = QFileDialog.Options()
file = QFileDialog.getOpenFileName(self,
"Commercial Base", "", "TXT Files (*.txt)", options=option)
self.cc_path.setText(file[0])
def open_settings(self):
# ----> vvvv <-------------------------------------------------------------
self.mw = ProxySettings() # !!! self
self.mw.show()
def closeEvent(self, event): # +++
if self.mw: # +++
self.mw.close() # +++
if __name__ == '__main__':
app = QApplication(sys.argv)
w = Checker()
w.show()
sys.exit(app.exec_())
q1469440_menu.py
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(301, 371)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setGeometry(QtCore.QRect(10, 10, 281, 351))
self.frame.setStyleSheet("background-color: rgb(39, 39, 39); border-radius: 10px;")
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.close_btn = QtWidgets.QPushButton(self.frame)
self.close_btn.setGeometry(QtCore.QRect(250, 10, 22, 22))
self.close_btn.setStyleSheet("border-radius: 10px;\n"
"background-color: rgb(255, 0, 0);\n"
"selection-background-color: rgb(212, 0, 0);")
self.close_btn.setText("")
self.close_btn.setObjectName("close_btn")
self.check = QtWidgets.QPushButton(self.frame)
self.check.setGeometry(QtCore.QRect(100, 290, 81, 35))
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(8)
font.setBold(False)
font.setItalic(False)
font.setWeight(10)
self.check.setFont(font)
self.check.setToolTipDuration(1)
self.check.setAutoFillBackground(False)
self.check.setStyleSheet("border-radius: 15px;\n"
"background-color: rgb(0, 170, 255);\n"
"font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.check.setObjectName("check")
self.cc_path = QtWidgets.QLineEdit(self.frame)
self.cc_path.setGeometry(QtCore.QRect(30, 140, 131, 23))
self.cc_path.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.cc_path.setObjectName("cc_path")
self.browse_btn = QtWidgets.QPushButton(self.frame)
self.browse_btn.setGeometry(QtCore.QRect(170, 140, 71, 23))
self.browse_btn.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.browse_btn.setObjectName("browse_btn")
self.settings_btn = QtWidgets.QPushButton(self.frame)
self.settings_btn.setGeometry(QtCore.QRect(10, 10, 22, 22))
self.settings_btn.setStyleSheet("border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.settings_btn.setText("")
self.settings_btn.setIcon(QIcon('UI/settings.png'))
self.settings_btn.setObjectName("settings_btn")
self.status_code = QtWidgets.QLabel(self.frame)
self.status_code.setGeometry(QtCore.QRect(150, 50, 81, 16))
self.status_code.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(255, 0, 0);")
self.status_code.setObjectName("status_code")
self.status_label = QtWidgets.QLabel(self.frame)
self.status_label.setGeometry(QtCore.QRect(80, 50, 61, 16))
self.status_label.setStyleSheet("font: 87 10pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);")
self.status_label.setObjectName("status_label")
self.check_progress = QtWidgets.QProgressBar(self.frame)
self.check_progress.setGeometry(QtCore.QRect(30, 90, 221, 23))
self.check_progress.setStyleSheet("QProgressBar{\n"
" border-radius: 10px;\n"
" background-color: rgb(236, 236, 236);\n"
" color: rgb(0, 170, 255);\n"
"}\n"
"QProgressBar::chunk{\n"
" border-radius: 10px;\n"
" background-color: rgb(0, 170, 255);\n"
"}")
self.check_progress.setProperty("value", 24)
self.check_progress.setObjectName("progressBar")
self.gate_save = QtWidgets.QPushButton(self.frame)
self.gate_save.setGeometry(QtCore.QRect(170, 190, 71, 23))
self.gate_save.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.gate_save.setObjectName("gate_save")
self.gate_list = QtWidgets.QComboBox(self.frame)
self.gate_list.setGeometry(QtCore.QRect(30, 190, 131, 22))
self.gate_list.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.gate_list.setObjectName("gate_list")
self.browse_info = QtWidgets.QPushButton(self.frame)
self.browse_info.setGeometry(QtCore.QRect(250, 140, 16, 23))
self.browse_info.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 20px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.browse_info.setObjectName("browse_info")
self.save_info = QtWidgets.QPushButton(self.frame)
self.save_info.setGeometry(QtCore.QRect(250, 190, 16, 23))
self.save_info.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 20px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.save_info.setObjectName("save_info")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.check.setText(_translate("MainWindow", "Start"))
self.cc_path.setPlaceholderText(_translate("MainWindow", " Comm Base Path"))
self.browse_btn.setText(_translate("MainWindow", "Browse"))
self.status_code.setText(_translate("MainWindow", "STOPPED"))
self.status_label.setText(_translate("MainWindow", "STATUS:"))
self.gate_save.setText(_translate("MainWindow", "Save"))
self.browse_info.setText(_translate("MainWindow", "i"))
self.save_info.setText(_translate("MainWindow", "i"))
q1469440_proxy.py
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
class Ui_ProxyTab(object):
def setupUi(self, ProxyTab):
ProxyTab.setObjectName("ProxyTab")
ProxyTab.resize(441, 369)
self.frame = QtWidgets.QFrame(ProxyTab)
self.frame.setGeometry(QtCore.QRect(10, 10, 421, 351))
self.frame.setStyleSheet("background-color: rgb(39, 39, 39); border-radius: 10px;")
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.close_button = QtWidgets.QPushButton(self.frame)
self.close_button.setGeometry(QtCore.QRect(390, 10, 22, 22))
self.close_button.setStyleSheet("border-radius: 10px;\n"
"background-color: rgb(255, 0, 0);")
self.close_button.setText("")
self.close_button.setObjectName("close_button")
self.proxytab = QtWidgets.QWidget(self.frame)
self.proxytab.setGeometry(QtCore.QRect(110, 40, 301, 251))
self.proxytab.setObjectName("proxytab")
self.use_proxy = QtWidgets.QCheckBox(self.proxytab)
self.use_proxy.setGeometry(QtCore.QRect(10, 10, 101, 17))
self.use_proxy.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);")
self.use_proxy.setObjectName("use_proxy")
self.proxy_line = QtWidgets.QLineEdit(self.proxytab)
self.proxy_line.setGeometry(QtCore.QRect(10, 170, 131, 22))
self.proxy_line.setStyleSheet("border-style: outset;\n"
"background-color: rgb(236, 236, 236);\n"
"border-width: 1px;\n"
"border-radius: 10px;")
self.proxy_line.hide()
self.proxy_line.setObjectName("proxy_line")
self.add_proxy = QtWidgets.QPushButton(self.proxytab)
self.add_proxy.setGeometry(QtCore.QRect(150, 170, 61, 22))
self.add_proxy.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.add_proxy.hide()
self.add_proxy.setObjectName("add_proxy")
self.remove_proxy = QtWidgets.QPushButton(self.proxytab)
self.remove_proxy.setGeometry(QtCore.QRect(220, 170, 61, 22))
self.remove_proxy.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 10px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.remove_proxy.hide()
self.remove_proxy.setObjectName("remove_proxy")
self.proxy_list = QtWidgets.QListWidget(self.proxytab)
self.proxy_list.setGeometry(QtCore.QRect(10, 40, 271, 121))
self.proxy_list.hide()
self.proxy_list.setStyleSheet("background-color: rgb(236, 236, 236);")
self.proxy_list.setObjectName("proxy_list")
self.save = QtWidgets.QPushButton(self.frame)
self.save.setGeometry(QtCore.QRect(210, 300, 101, 35))
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(8)
font.setBold(False)
font.setItalic(False)
font.setWeight(10)
self.save.setFont(font)
self.save.setToolTipDuration(1)
self.save.setAutoFillBackground(False)
self.save.setStyleSheet("border-radius: 15px;\n"
"background-color: rgb(0, 170, 255);\n"
"font: 87 8pt \"Arial Black\";\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.save.setObjectName("check")
self.proxywindow = QtWidgets.QPushButton(self.frame)
self.proxywindow.setGeometry(QtCore.QRect(10, 40, 91, 23))
self.proxywindow.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 5px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.proxywindow.setObjectName("proxywindow")
self.infowindow = QtWidgets.QPushButton(self.frame)
self.infowindow.setGeometry(QtCore.QRect(10, 310, 91, 23))
self.infowindow.setStyleSheet("font: 87 8pt \"Arial Black\";\n"
"border-radius: 5px;\n"
"background-color: rgb(0, 170, 255);\n"
"color: rgb(255, 255, 255);\n"
"selection-background-color: rgb(0, 145, 215);")
self.infowindow.setObjectName("infowindow")
self.retranslateUi(ProxyTab)
QtCore.QMetaObject.connectSlotsByName(ProxyTab)
def retranslateUi(self, ProxyTab):
_translate = QtCore.QCoreApplication.translate
ProxyTab.setWindowTitle(_translate("Dialog", "Dialog"))
self.use_proxy.setText(_translate("Dialog", "Use Proxy"))
self.proxy_line.setPlaceholderText(_translate("Dialog", " ip:port:login:password"))
self.add_proxy.setText(_translate("Dialog", "Add"))
self.remove_proxy.setText(_translate("Dialog", "Remove"))
self.save.setText(_translate("Dialog", "Save"))
self.proxywindow.setText(_translate("Dialog", "Proxy"))
self.infowindow.setText(_translate("Dialog", "Info"))
class ProxySettings(QWidget, Ui_ProxyTab):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground)
self.use_proxy.stateChanged.connect(self.proxy_checkbox)
self.close_button.clicked.connect(self.close)
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 proxy_checkbox(self):
if self.use_proxy.isChecked():
self.proxy_line.show()
self.add_proxy.show()
self.remove_proxy.show()
self.proxy_list.show()
else:
self.proxy_line.hide()
self.add_proxy.hide()
self.remove_proxy.hide()
self.proxy_list.hide()
