Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открыть одно окно из другого 
:(
    Опции темы
ZenRus
Дата 14.3.2011, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.2.2011

Репутация: нет
Всего: нет



Создал в pyQT-дизайнере 2 окна. Сохранил их в формате *.ui 

Содержимое main.py 
Код

import sys

# import PyQt4 QtCore and QtGui modules
from PyQt4 import QtGui, QtCore

from mainwindow import MainWindow
from editDictWindow import EditDictWindow


if __name__ == '__main__':

    # create application
    app = QtGui.QApplication(sys.argv)
    app.setApplicationName('Add to Dictionary')

    # create widget
    w = MainWindow()
    w.setWindowTitle('Add to Dictionary')
    w.show()

    # connection
    QtCore.QObject.connect(app, QtCore.SIGNAL('lastWindowClosed()'), app, QtCore.SLOT('quit()'))


    # execute application
    sys.exit(app.exec_())


Класс первого окна лежит в файле mainwindow.py

Код, который подгружает *.ui первого окна из файла-дзайна:
(
Код

Ui_MainWindow, QMainWindow) = uic.loadUiType('UI Forms/AddToDictionary.ui')

class MainWindow (QMainWindow):
    """MainWindow inherits QMainWindow"""

    def __init__ (self, parent = None):
        QMainWindow.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)


Класс второго окна лежит в файле editDictWindow.py и подгружается подобно первому.

В первом окне есть кнопочка "Edit Dictionary"
Код

self.connect(self.ui.editDict,QtCore.SIGNAL('clicked()'),self.onEditDict)

Это событие при клике на неё...

Как при клике на этой кнопочке открыть второе окно? И при этом желательно заблокировать первое, пока второе не будет закрыто.
Большую часть кода собирал из разных примеров и не до конца понимаю что и как работает, может где-то накосячил...

Насколько я понимаю код открытия второго окна из первого надо каким-то макаром написать в файле main.py... или как?
PM MAIL   Вверх
ZenRus
Дата 14.3.2011, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.2.2011

Репутация: нет
Всего: нет



Проблему решил сам немного подумав мозгом и почитав ещё парочку мануалов.
Если кому интересно:

В файл описания класса первого окна (mainwindow.py) добавил немного кода:
Код

from editDictWindow import EditDictWindow
...
def onEditDict(self): #Функция запускается по клике на кнопку и открывает второе окно
        print("Here open second Edit Window")
        self.child = EditDictWindow()
        self.child.setWindowTitle('Edit Dictionary')
        self.child.show()


Если кто умный это прочитает: плиз, прокомментируйте мой код, что я делаю правильно, а чо через ж***?
Премного благодарен за "тыкание меня носом", учиться кодить лучше сразу правильно)

А, Да! Проблема как "заблокировать" первое окно, пока второе открыто, так и осталась нерешенной((

Это сообщение отредактировал(а) ZenRus - 14.3.2011, 21:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Разработка GUI | Следующая тема »


 




[ Время генерации скрипта: 0.0806 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.