Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Tkinter: Запуск второго окна из первого [RSS Feed]

#1 Янв. 8, 2009 13:30:54

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: Запуск второго окна из первого

Всем доброго!
Есть код:

# -*- coding: utf-8 -*-
import sys
import Tkinter

def sss():
if v.get() == "111":
kk.set("Пароль верный!")
else:
kk.set("Пароль неверный!")
# print v.get()

tuppass = Tkinter.Tk()
tuppass.title('Доступ к flash\'ке')

#tuppass.geometry("250x150")
F = Tkinter.Frame(tuppass)
F.pack()

#Заголовок программы
lab = Tkinter.Label(F, text='Введите пароль!')
lab.grid(row=0, column=0, columnspan = 2)

lab = Tkinter.Label(F, text=' ')
lab.grid(row=1, column=0, columnspan = 2)


# Строка ввода пароля
v = Tkinter.StringVar()
#v.set()
password = Tkinter.Entry(F, width=10, textvariable = v, show="*")
password.grid(row=2, column=0)

# кнопка ввода пароля
btpass = Tkinter.Button(F, text = u'Подтвердить', command = sss)
btpass.grid(row=2, column=1)

kk = Tkinter.StringVar()
lab = Tkinter.Label(F, text=' ', textvariable = kk)
lab.grid(row=3, column=0, columnspan = 2)


# Кнопка Выхода из проги
btclose = Tkinter.Button(F, text = u'Закрыть', command = lambda : tuppass.destroy())
btclose.grid(row=4, column=1, sticky='e')

tuppass.mainloop()
Как в данном коде запустить окно в котором будет работать пользователь после правильно набранного пароля, а окно с вводом пароля закрыть.



Python 2.7.3
Pyside 1.1.2

Офлайн

#2 Янв. 8, 2009 13:37:19

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Tkinter: Запуск второго окна из первого

Сейчас тоже над этим работаю.
Первы вариант был, сделать old_window.destroy() а затем новый new_window=Tk() new_window.mainloop()
Но вроде как этого делать нежелательно. Работает, но в последствии, у меня вылезали некоторые глюки.
Второй вариант, на котором остановился:
Все, что нужно в первом окне, упаковываеш во Frame, далее делаешь этому фрейму destroy и создаешь новый, для красоты, можно в это время делать iconify deiconify



Офлайн

#3 Янв. 8, 2009 14:40:25

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter: Запуск второго окна из первого

igor.kaist Спасибо огромное Frame.destroy() действительно рулит! Вопрос решен!



Python 2.7.3
Pyside 1.1.2

Офлайн

  • Начало
  • » GUI
  • » Tkinter: Запуск второго окна из первого[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version