Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Tkinter. Проблема с методами в классах. [RSS Feed]

#1 Окт. 22, 2011 10:26:17

Jazzis
От:
Зарегистрирован: 2011-08-17
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter. Проблема с методами в классах.

AboutWin есть.. над код перепроверить..

from Tkinter import *

class shell():
# global AboutWin, NickEntry
def __init__(self):
self.root = Tk()
self.root.geometry('590x410')
self.root.title('I Have Come Here :P')
self.root.resizable(False, False) # horizontal=, vertical=
# Окно ввода информации
TextInp = Text(self.root, height=121, width=421, state=NORMAL,
font=('Arial', 9), wrap=WORD)

# Окно вывода информации
TextOut = Text(self.root, height=251, width=421, state=DISABLED,
font=('Arial', 9), wrap=WORD)

# Список подключенных участников
ListUsr = Listbox(self.root, height=251, width=141,
selectmode=SINGLE)

# Поле для ввода никнейма
NickEntry = Entry(self.root, width=141)
InfoLabel = Label (self.root, height=31, width=121,
text=u'Напишите здесь свой\n ник и нажмите Enter.',
font=('Arial', 9), anchor=CENTER)

AboutWin = Toplevel(self.root, height=100, width=200)
AboutLabel = Label(AboutWin, text='This is test.', font=('Arial', 9))
AboutLabel.place(anchor='center')
AboutWin.withdraw()

# Менюшка сверху
TopBar = Menu(self.root)
self.root.config(menu= TopBar)
# File
MenuFile = Menu(TopBar)

MenuFile.add_command(label='Connect to server..', command= self.Connect)
MenuFile.add_command(label='Disconnect..')
MenuFile.add_separator()
MenuFile.add_command(label='Save..') # Ctrl + S (^S)
MenuFile.add_command(label='Clear..')
MenuFile.add_separator()
MenuFile.add_command(label='Exit', command= self.root.destroy) # Ctrl + Q (^Q)

# About
#MenuAbout = Menu(TopBar)

#MenuAbout.add_command(label='test', command= self.About)

TopBar.add_cascade(label='File', menu= MenuFile)
TopBar.add_cascade(label='About', command= self.About)

# Размещение всех виджетов
TextInp.place(x=10, y=270, height=121, width=421)
TextOut.place(x=10, y=10, height=251, width=421)
ListUsr.place(x=440, y=10, height=251, width=141)
NickEntry.place(x=440, y=360, width=141)
InfoLabel.place(x=450, y=320, height=31, width=121)

def run(self):
self.root.mainloop()

def About(self):
self.AboutWin.deiconify()

def Connect(self):
name = self.NickEntry.get()
print name

gui = shell()
gui.run()



Отредактировано (Окт. 22, 2011 10:28:47)

Офлайн

#2 Окт. 22, 2011 12:36:51

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Tkinter. Проблема с методами в классах.

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

Перед AboutWin надо поставить self при объявлении. Но почитайте в книжке зачем это надо.



Офлайн

#3 Окт. 22, 2011 13:09:20

Jazzis
От:
Зарегистрирован: 2011-08-17
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter. Проблема с методами в классах.

ладно, спс))



Офлайн

  • Начало
  • » GUI
  • » Tkinter. Проблема с методами в классах.[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version