2013-07-29 19 views
6

Próbuję dodać kartę pliku "Otwórz plik" w moim interfejsie użytkownika. Działa dobrze, ale linia --------- jest wyświetlana u góry karty i chcę ją usunąć. Nie wiem, dlaczego ta linia jest wyświetlana i nie mogę znaleźć wiersza kodu.Jak usunąć przerywaną linię z mojego interfejsu menu?

enter image description here

To jest mój kod:

# -*- coding: utf-8 -*- 
from Tkinter import * 
import Image 
import ImageTk 
import tkFileDialog 

class Planificador(Frame): 
    def __init__(self,master): 
     Frame.__init__(self, master) 
     self.master = master 
     self.initUI() 

    def initUI(self): 
     self.master.title("test") 

     menubar = Menu(self.master, tearoff=0) 
     self.master.config(menu=menubar) 

     fileMenu = Menu(menubar) 
     fileMenu.add_command(label="Open config file", command=self.onOpen) 
     menubar.add_cascade(label="File", menu=fileMenu) 

     fileMenu.add_separator() 
     fileMenu.add_command(label="Exit", command=root.quit) 

     self.txt = Text(self) 
     self.txt.pack(fill=BOTH, expand=1) 

    def onOpen(self): 
     ftypes = [('Python files', '*.py'), ('All files', '*')] 
     dlg = tkFileDialog.Open(self, filetypes = ftypes) 
     fl = dlg.show() 

     if fl != '': 
      text = self.readFile(fl) 
      self.txt.insert(END, text) 

    def readFile(self, filename): 
     f = open(filename, "r") 
     text = f.read() 
     return text 

# Main 
if __name__ == "__main__": 
    # create interfacE 
    root = Tk() 
    aplicacion = Planificador(root) 
    root.mainloop() 

Chciałbym wiedzieć, gdzie mogę usunąć że ------- z kodu.
góry dzięki

Odpowiedz

10

Set tearoff opcja fileMenu do False (lub 0)

fileMenu = Menu(menubar, tearoff=False) 
3

Najlepszym sposobem, aby usunąć przerywaną linię jest użycie metody option_add ustawić opcję *tearOff z root do False przed rozpoczęciem tworzenia dowolnych menu. Tutaj można to zrobić w sposób initUI tak:

def initUI(self): 
    self.master.title("test") 
    self.master.option_add('*tearOff', False) 

To usunie przerywaną linię dla każdego menu można tworzyć więc nie trzeba będzie ustawić tearoff=False dowolnym momencie tworzenia menu.

Powiązane problemy