PyQt работа с импортированными классами в QTabWidget
Задача в работе с классами в PyQt. Работаю с PyQt5 и PyQt6.
Мне нужно внести в tab
в файле Setup.py класс window
из ssh.py.
Но проблема в том, что при импорте ssh.py он сразу открывается при запуске, без приложения, которое в Setup.py.
Setup.py
from PyQt6 import QtCore, QtGui, QtWidgets
from ssh import window
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(687, 388)
self.centralwidget = QtWidgets.QWidget(parent=MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 681, 371))
self.tabWidget.setObjectName("tabWidget")
# tab - ssh.py , в этом tab'e нужно выводит
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.tabWidget.addTab(self.tab, "")
self.tab_2 = QtWidgets.QWidget()
self.tab_2.setObjectName("tab_2")
self.widget = QtWidgets.QWidget(parent=self.tab_2)
self.widget.setGeometry(QtCore.QRect(-1, 9, 681, 331))
self.widget.setObjectName("widget")
self.tabWidget.addTab(self.tab_2, "")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setObjectName("tab_3")
self.tabWidget.addTab(self.tab_3, "")
self.tab_4 = QtWidgets.QWidget()
self.tab_4.setObjectName("tab_4")
self.tabWidget.addTab(self.tab_4, "")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(parent=MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 687, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(parent=MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "SSH - подключение"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "WebCamera"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "BackUp - резерв.коп"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("MainWindow", "Settings"))
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())
ssh.py
from PyQt5.QtWebEngineWidgets import QWebEngineSettings
# это нужно вывести
class window(QtWidgets.QMainWindow):
def __init__(self):
QWebEngineSettings.globalSettings().setAttribute(QWebEngineSettings.PluginsEnabled, True)
super(window, self).__init__()
self.centralwid = QtWidgets.QWidget(self)
self.vlayout = QtWidgets.QVBoxLayout()
self.webview = QtWebEngineWidgets.QWebEngineView()
self.webview.setUrl(QUrl("http://192.168.88.62:10000/"))
self.vlayout.addWidget(self.webview)
self.centralwid.setLayout(self.vlayout)
self.setCentralWidget(self.centralwid)
self.show()
app = QtWidgets.QApplication([])
ex = window()
sys.exit(app.exec_())
Вот так оно мне выводит при импорте ssh.py:
Вот в этом tab
'е должно быть окно из ssh.py, но его нет
И ещё хотелось бы , чтобы работало на весь экран тоже. Заранее спасибо!
Источник: Stack Overflow на русском