Приветствую Друзья
И снова обращаюсь к Вам за помощью. Так как опять запутался по хождению нашей всемирной сети...... Суть проблемы в следующем... Я изучаю "Оконные приложения Python 3 и PyQt6", автор Прохорёнок Н.А. и Дронов В.А. Пройдя три главы а именно:
Глава 18.9. - Вывод заставки
Глава 19.5. - Разворачивание и сворачивание окон
Глава 19.6. - Управление прозрачностью окна
Я решил соединить листинги из этих глав....
from PyQt6 import QtCore, QtWidgets, QtGui
import time
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.btnMin = QtWidgets.QPushButton("Свернуть")
self.btnMax = QtWidgets.QPushButton("Развернуть")
self.btnFull = QtWidgets.QPushButton("Полный экран")
self.btnNormal = QtWidgets.QPushButton("Нормальный размер")
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(self.btnMin)
vbox.addWidget(self.btnMax)
vbox.addWidget(self.btnFull)
vbox.addWidget(self.btnNormal)
self.setLayout(vbox)
self.btnMin.clicked.connect(self.on_min)
self.btnMax.clicked.connect(self.on_max)
self.btnFull.clicked.connect(self.on_full)
self.btnNormal.clicked.connect(self.on_normal)
def on_min(self):
self.showMinimized()
def on_max(self):
self.showMaximized()
def on_full(self):
self.showFullScreen()
def on_normal(self):
self.showNormal()
def load_data(self, ap):
for i in range(1, 20): # Имитируем процесс
time.sleep(20000) # Что-то загружаем
ap.showMessage("Загрузка данных...(0%)".format(i*10),
QtCore.Qt.AlignmentFlag.AlignHCenter|
QtCore.Qt.AlignmentFlag.AlignBottom,
QtCore.Qt.GlobalColor.red)
# Принудительно обрабатываем события
QtWidgets.QApplication.instance().processEvents()
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.setWindowTitle("Разворачивание и сворачивание окон")
window.resize(300, 100)
splash = QtWidgets.QSplashScreen(QtGui.QPixmap("screen2.jpg"))
splash.showMessage("Загрузка данных... (0)%",
QtCore.Qt.AlignmentFlag.AlignHCenter |
QtCore.Qt.AlignmentFlag.AlignBottom,
QtGui.QColor("red"))
splash.show()
QtWidgets.QApplication.instance().processEvents()
window.show()
splash.finish(window)
sys.exit(app.exec())
Все получилось кроме заставки..... окно появляется и тут же исчезает (также высылаю Вам сам программу)
Помогите пожалуйста разобраться .... Заранее благодарю