Найти - Пользователи
Полная версия: Открытие несколько pyqt окон
Начало » Python для новичков » Открытие несколько pyqt окон
1
ispryt
у меня есть модуль index.py

В нем в начале задаются переменные потом классы моего окна на pyqt.

Есть еще один модуль index2.py
В index2.py
я пишу:
 import sys
from index import *
if __name__ == '__main__':
 while True:
     app = QApplication([])
     ex = Windows()
     ex.show()
     sys.exit(app.exec())

Всплывает окно loop останавливается. Я закрываю окно и Index2.py завершается.
Как мне сделат так, чтобы loop продолжался при окрытие окна? Т.е при каждой итерации открывалось окно?
И еще вопрос. допустим в index.py есть переменная, которая отображается в Qlabel
могу ли я в index2.py ее переопределить перед вызовом окна?
py.user.next
  
if __name__ == '__main__':
    app = QApplication([])
    while True:
        ex = Windows()
        ex.show()
    sys.exit(app.exec())

ispryt
И еще вопрос. допустим в index.py есть переменная, которая отображается в Qlabel
могу ли я в index2.py ее переопределить перед вызовом окна?
Нужно сделать слот для изменения метки и посылать сигнал в него. А посылать сигнал можно в любое время.
ispryt
Я так понял нужно ex = Windows() - открыть в потоке? Как это сделать?
py.user.next
Если это открыть в потоке, то всё время будут открываться новые окна, пока это всё не выпадет.
Но запуск QApplication() в цикле - это неправильная фигня. Только один вызов должен быть.
vic57
ispryt, наследуйся от QDialog
 from PyQt4.Qt import *
app = QApplication([])
count = 3
while count:
    w = QDialog()
    w.setWindowTitle('w:'+ str(count))
    w.show()
    w.exec_()
    count -= 1
lbl = QLabel("Finished")
lbl.resize(400,300)
lbl.show()
app.exec_()
ispryt
Оке. всем спасибо. Такой вопрос. Есть у меня test.py - там класс это окошечко с двумя кнопакми лейблами.
Далее у меня есть test2.py - там я импортирую test.py и хочу через test2.py посылать сигнал на изменение лейблов в test.py.
Я так понял в test.py в классе я создаю метод, где в нем setText(“dfdfdf”)
И на дним ставлю @QtCore.pyqtSlot() он у меня становится слотом.
Как мне в теперь в test2.py послать туда сигнал допустим в цикле?
whilte True:
сигнал в test.py

Спасибо.
vic57
ispryt
И на дним ставлю @QtCore.pyqtSlot() он у меня становится слотом.
у тебя есть метод, зачем слот?
 from PyQt4.Qt import *
class W(QDialog):
    def __init__(self):
        QDialog.__init__(self)
        self.Label = QLabel(self)
        self.resize(300,100)        
app = QApplication([])
count = 3
while count:
    w = W()
    w.Label.setText('W:'+ str(count))
    ret = w.exec_()
    count -= 1
w=W()
w.Label.setText("Finished")
w.show()
app.exec_()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB