| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Разработка GUI > PyQt4-Модальные окна |
| Автор: OzMod 8.7.2014, 18:31 | ||
| у меня Python 3.2.5... Помогите как мне сделать , что бы когда у меня появляеться модальное окно что бы главное окно скрывалось а когда я закрываю модальное окно то главное окно опять появлялось... Скрыть то у меня получаеться ( window.hide() а вот как показать после закрытия модального окна тут проблемка ) вот скрипт примера
|
| Автор: OzMod 11.7.2014, 09:40 | ||
| Всё сам до думался [code=python] from PyQt4 import QtGui, QtCore import sys def Show_Modal_Window(): # Задаём функцию вывода окна в центре ModalWindow_center = QtGui.QDialog(window,QtCore.Qt.Window) # Создание модульного окна и привязка к главному окну ModalWindow_center.setWindowTitle('Модальное окно') # Текст в заголовке окна ModalWindow_center.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.MSWindowsFixedSizeDialogHint) # Тип окна (Widget,Window,Dialog,Sheet,Drawer,Popup,Tool,ToolTip,SplashScreen,Desktop,SubWindow ModalWindow_center.exec_() # Показать окно def HideWindow(): window.hide() Show_Modal_Window() window.show() def RootwWindow(): global window, app #app = QtGui.QApplication(sys.argv) # Принимает список параметров переданных командной строке window = QtGui.QWidget() # Создание окна window.setWindowTitle('Заголовок окна') # Текст в заголовке окна WinPos = QtGui.QApplication.desktop() # Определение размера экрана sizeX, sizeY = (300, 70) # Задаём переменные размера окна posX, posY = (WinPos.width() - sizeX) // 2 ,(WinPos.height() - sizeY) // 2 # Высчитываем середину экрана window.setGeometry(posX,posY,sizeX,sizeY) # setFixedSize(x,y- Фиксированный размер окна) resize Размер окна или setGeometry(x,y,Ширина,Высота) window.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.MSWindowsFixedSizeDialogHint) # Тип окна (Widget,Window,Dialog,Sheet,Drawer,Popup,Tool,ToolTip,SplashScreen,Desktop,SubWindow #--Кнопки-- BtnWindow = QtGui.QPushButton('&Модальное окно') #----- vbox = QtGui.QVBoxLayout() # Задаём метод растагивания виджетов в нутри окна vbox.addWidget(BtnWindow) # Привязываем кнопку к методу QVBoxLayout() window.setLayout(vbox) # Привязка окна к методу QVBoxLayout() #----- QtCore.QObject.connect(BtnWindow, QtCore.SIGNAL("clicked()"), HideWindow) # Метод обработки нажатия if __name__ == "__main__": global window, app app = QtGui.QApplication(sys.argv) RootwWindow() window.show() # Показываем окно sys.exit(app.exec_())
|