16

UI に「ファイルを開く」ファイル タブを追加しようとしています。正常に動作---------しますが、タブの上部に行が表示されているので、それを削除したいと思います。その行が表示される理由がわかりません。コード上でその行が見つかりません。

ここに画像の説明を入力

これは私のコードです:

# -*- 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()

コードからそれを削除できる場所を知りたい-------です。
前もって感謝します

4

3 に答える 3

7

破線を削除する最良の方法は、メニューの作成を開始する前に、option_addメソッドを使用して*tearOffオプションをroottoに設定することです。ここでは、次のようにメソッドFalseでこれを行うことができます。initUI

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

これにより、作成する各メニューの破線が削除されるため、メニューを作成するたびに を設定する必要はありませんtearoff=False

于 2016-02-23T08:50:16.677 に答える