2014-01-07 4 views
1

Так что я работал над этой простой программой чата, но независимо от того, что я делаю, я просто не могу заставить ее работать правильно. по какой-то причине регулярных утверждений типа «состояние = ОТКЛ» и «липкие = N + S + E + W» больше не работает, и только в результате следующей ошибки:Регулярные заявления Tkinter не работают

Traceback (most recent call last): 
    File "C:\Users\K2\Desktop\Projekt 1\chWin.py", line 60, in <module> 
    chWin = chWin() 
    File "C:\Users\K2\Desktop\Projekt 1\chWin.py", line 12, in __init__ 
    self.chatWin.configure(bg = '#747371', fg = 'orange', state = DISABLED) 
NameError: global name 'DISABLED' is not defined 

Я действительно из идей и не может найти ответ нигде. Может быть, это действительно просто, не знаю! Пожалуйста помоги! `

import tkinter as GUI 

switch = False 

class chWin(GUI.Tk): 
    def __init__(self): 
     GUI.Tk.__init__(self) 


     #Medalandefönster 
     self.chatWin = GUI.Text(self) 
     self.chatWin.configure(bg = '#747371', fg = 'orange', state = DISABLED) 
     self.chatWin.grid(row = 0, column = 0, sticky = N+S+E+W) 

     #Scrollbaren 
     self.scrl = GUI.Scrollbar(self) 
     self.scrl.grid(row = 0, column = 0, sticky = N+S+E+W) 

     #Gör så att scrollbar fungerar 

     self.scrl.configure(command = self.chatWin.yview) 
     self.chatWin.configure(yscrollcommand = self.scrl.set, state = DISABLED) 

     #Medalandeinput 
     self.msg = GUI.Entry(self) 
     self.msg.configure(bg = '#262626', fg = 'orange') 
     self.msg.grid(row = 1, sticky = N+S+E+W) 

     #Skicka-knapp 
     self.btn = GUI.Button(self, text = '<<Send>>', command = self.sendMsg) 
     self.btn.configure(bg = 'orange', fg = 'black') 
     self.btn.bind('<Button-1>', self.sendMsg) 
     self.btn.grid(row = 1, sticky = N+S+E+W) 

     #Binder "Enter" till knappen 
     self.msg.bind('<Return>', self.sendMsg) 

    def sendMsg(self, event=None): 
     global switch 
     send = self.msg.get() 
     print (send) 
     if len(send) < 1: 
      pass 
     else: 
      ext = 'Me:\n ' 
      ext = ext + send 
      self.chatWin.configure(state = NORMAL) 
      self.chatWin.insert(END, ext + '\n') 
      self.chatWin.yview(END) 
      self.chatWin.configure(state = DISABLED) 
      sak = ext + '\n' 
      switch = True 
      while switch == True: 
       mess = send.encode() 
       s.send(mess) 
       print('client sent: ', mess) 
       switch = False 
      msg.delete(0, END) 

chWin = chWin() 
chWin.mainloop() 

`

ответ

1

вам нужно GUI.DISABLED так DISABLED является частью tkinter пространства имен и у вас есть:

import tkinter as GUI 

То же самое касается N, E, W, S, NORMAL , END - GUI.N, GUI.E, ...

+0

Thnx так много для помощи! Работал как храм! – Cevil

+0

Нет проблем. Рад это сделать. :) – mgilson

Смежные вопросы