Привет всем. Я новичок в python, и я создал скрипт (a) для создания специфической c структуры папок на основе нескольких параметров. Когда этот скрипт выполняется, он запускает основные GUI (b), и как только указанные основные условия c выполняются в основных GUI, дочерний элемент GUI (c) запускается одним нажатием кнопки. Теперь основной GUI (b) и дочерний GUI (c) были созданы с помощью конструктора PyQT, и они были импортированы в скрипт (a).
Я попытался установить GUI для '... show ()', а также попытался установить основной GUI (a) как родительский и дочерний GUI (c) как дочерний, используя примеры из других постов здесь, но безрезультатно. Может быть, я просто делаю это неправильно.
После отладки скрипта (a) в Pycharm, похоже, он запускает дочерний элемент GUI (c) как ' main 'и канав / закрывает основной GUI (б). Я разместил начальную и конечную части кода для всех 3 (a, b, c). Пожалуйста, кто-нибудь может помочь
------------------ # Beginning of script(a) # ---------------------
class mywindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(mywindow, self).__init__(parent)
self.ui = Ui_MainWindow() # This launches the main GUI(b)
self.ui.setupUi(self)
self.ui2 = Ui_New_LabWindow() # This is to launch the child GUI(c)
def __del__(self):
self.ui = None
self.ui2 = None
------------------ # end of script(a) # ---------------------
def main():
app = QtWidgets.QApplication(sys.argv)
application = mywindow()
application.show()
app.exec_()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
------------------ # beginning of main GUI(b) # ---------------------
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.show()
MainWindow.setWindowModality(QtCore.Qt.WindowModal)
MainWindow.setObjectName("MainWindow")
MainWindow.resize(600, 508)
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
MainWindow.setFont(font)
MainWindow.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
MainWindow.setLayoutDirection(QtCore.Qt.RightToLeft)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
------------------ # end of main GUI(b) # ---------------------
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
app.exec_()
sys.exit(app.exec_())
------------------ # beginning of child GUI(c) # ---------------------
class Ui_NewLabWindow(object):
def setupUi(self, NewLabWindow):
NewLabWindow.setWindowModality(QtCore.Qt.WindowModal)
NewLabWindow.setObjectName("NewLabWindow")
NewLabWindow.resize(403, 433)
self.centralwidget = QtWidgets.QWidget(NewLabWindow)
self.centralwidget.setObjectName("centralwidget")
------------------ # end of child GUI(c) # ---------------------
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
NewLabWindow= QtWidgets.QMainWindow()
ui = Ui_NewLabWindow()
ui.setupUi(NewLabWindow)
NewLabWindow.show()
NewLabWindow.isModal()
app.exec_()
sys.exit(app.exec_())