HomeAlone
Апрель 9, 2012 10:41:33
Пишу программу типа stickynotes(записок), интерфейс на PyQt4. По нажатию на кнопку “создать новую записку”, с помощью os.system запускаю программу ещё раз. Появляется второе окно программы, которое блокирует все действия на предыдущем. Как это можно обойти? Окно в программе создаю с помощью QMainWindow.
FishHook
Апрель 9, 2012 10:44:06
HomeAlone
Пишу программу типа stickynotes(записок), интерфейс на PyQt4. По нажатию на кнопку “создать новую записку”, с помощью os.system запускаю программу ещё раз. Появляется второе окно программы, которое блокирует все действия на предыдущем. Как это можно обойти? Окно в программе создаю с помощью QMainWindow.
>>>запускаю программу ещё раз
А нахрена? Нельзя создать еще одно окно в той же программе?
HomeAlone
Апрель 9, 2012 10:45:53
FishHook
HomeAlone
Пишу программу типа stickynotes(записок), интерфейс на PyQt4. По нажатию на кнопку “создать новую записку”, с помощью os.system запускаю программу ещё раз. Появляется второе окно программы, которое блокирует все действия на предыдущем. Как это можно обойти? Окно в программе создаю с помощью QMainWindow.
>>>запускаю программу ещё раз
А нахрена? Нельзя создать еще одно окно в той же программе?
пробывал, может делал что-то неправильно. Но тогда второе окно получается дочерним от первого. Поэтому при закрытии первого автоматически закрывается и второе.
cutwater
Апрель 9, 2012 11:10:56
HomeAlone
пробывал
А где пробывали то?
А есть речь о том, что вы таки пробОвали, то покажите как. Если же делали что-то неправильно, может стоит попробОвать сделать правильно.
HomeAlone
Апрель 9, 2012 11:24:45
FishHook
HomeAlone
FishHook
HomeAlone
Пишу программу типа stickynotes(записок), интерфейс на PyQt4. По нажатию на кнопку “создать новую записку”, с помощью os.system запускаю программу ещё раз. Появляется второе окно программы, которое блокирует все действия на предыдущем. Как это можно обойти? Окно в программе создаю с помощью QMainWindow.
>>>запускаю программу ещё раз
А нахрена? Нельзя создать еще одно окно в той же программе?
пробывал, может делал что-то неправильно. Но тогда второе окно получается дочерним от первого. Поэтому при закрытии первого автоматически закрывается и второе.
# -*- coding:utf-8 -*-
import sys,os
from PyQt4 import QtCore
from PyQt4.QtGui import *
class Note(QMainWindow):
def __init__(self):
super(Note,self).__init__()
self.button=QPushButton("New",self)
class Launcher(object):
windows={}
counter=0
def __init__(self):
app = QApplication(sys.argv)
window = Note()
self.windows[0]=window
QtCore.QObject.connect(window.button, QtCore.SIGNAL('clicked ()'), self.new_window)
self.counter+=1
self.windows[0].show()
sys.exit(app.exec_())
def new_window(self):
window=Note()
self.windows[self.counter]=window
QtCore.QObject.connect(window.button, QtCore.SIGNAL('clicked ()'), self.new_window)
self.windows[self.counter].show()
self.counter+=1
if __name__=='__main__':
launcher=Launcher()
Огромное спасибо за пример, понял почему окна закрывались. Буду исправлять
NZavaloff
Апрель 12, 2012 10:39:05
Нельзя создать еще одно окно в той же программе?
HomeAlone
Апрель 12, 2012 13:30:00
NZavaloff
Нельзя создать еще одно окно в той же программе?
можно, просто у меня неправильно было написано закрытие окна по кнопке и закрывались сразу все окна…уже разобрался…теперь всё работает…осталось только связать каждое окно, с отдельным файлом для автосохранения записок)
FishHook
Апрель 12, 2012 14:11:36
HomeAlone
NZavaloff
Нельзя создать еще одно окно в той же программе?
можно, просто у меня неправильно было написано закрытие окна по кнопке и закрывались сразу все окна…уже разобрался…теперь всё работает…осталось только связать каждое окно, с отдельным файлом для автосохранения записок)
Настоятельно рекомендую писать в БД
HomeAlone
Апрель 12, 2012 14:23:57
FishHook
HomeAlone
NZavaloff
Нельзя создать еще одно окно в той же программе?
можно, просто у меня неправильно было написано закрытие окна по кнопке и закрывались сразу все окна…уже разобрался…теперь всё работает…осталось только связать каждое окно, с отдельным файлом для автосохранения записок)
Настоятельно рекомендую писать в БД
спасибо за совет, почитаю. Попробую реализовать)