Какой модуль из библиотеки PyQt5 нужно передавать классу приложения?
Какой родительский класс нужно передавать классу при построении приложения с PyQt5? В моём случае есть класс SkeletonOfWindow, если ему передать модуль QWidget, то класс будет распознавать все модули и функции из QWidget.
Но в интернете множество разных примеров, в которых передают не только QWidget, но и другие модули!
Какой модуль более универсален для передачи его классу?
import sys
from PyQt5.QtWidgets import QApplication
class SkeletonOfWindow():
def __init__(self):
super().__init__()
self.build_skeleton_with_basic_settings()
def build_skeleton_with_basic_settings(self):
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = SkeletonOfWindow()
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Все зависит от того какие задачи вы будите выполнять.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QDialog
from PyQt5 import QtWidgets
class SkeletonOfWindow(QWidget):
def __init__(self):
super().__init__()
self.build_skeleton_with_basic_settings()
def build_skeleton_with_basic_settings(self):
label = QtWidgets.QLabel("Hello World")
layout = QtWidgets.QHBoxLayout(self)
layout.addWidget(label)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = SkeletonOfWindow()
ex.show()
sys.exit(app.exec_())
- Класс QMainWindow предоставляет главное окно приложения.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QDialog
from PyQt5 import QtWidgets
class SkeletonOfWindow(QMainWindow):
def __init__(self):
super().__init__()
self.build_skeleton_with_basic_settings()
def build_skeleton_with_basic_settings(self):
self.centralWidget = QWidget()
self.setCentralWidget(self.centralWidget)
label = QtWidgets.QLabel("Hello World")
layout = QtWidgets.QHBoxLayout(self.centralWidget)
layout.addWidget(label)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = SkeletonOfWindow()
ex.show()
sys.exit(app.exec_())
- Класс QDialog - это базовый класс диалоговых окон.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QDialog
from PyQt5 import QtWidgets
class SkeletonOfWindow(QDialog):
def __init__(self):
super().__init__()
self.build_skeleton_with_basic_settings()
def build_skeleton_with_basic_settings(self):
label = QtWidgets.QLabel("Hello World")
layout = QtWidgets.QHBoxLayout(self)
layout.addWidget(label)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = SkeletonOfWindow()
ex.show()
sys.exit(app.exec_())


