小编use*_*729的帖子

在 Python 中为 Tkinter 树视图创建弹出菜单

单击树视图中的项目时,是否可以在包含弹出菜单的子窗口中放置一个 tkinter 树视图。目前菜单显示在右键单击并指向适当的功能,但是我无法识别在树视图中选择的项目。

有没有办法识别使用菜单后在树视图中选择的行?

提前致谢

class Page(tk.Frame):
    def __init__(self, parent, controller):
    tk.Frame.__init__(self, parent)
    button = ttk.Button(self, text="Treeview", command= self.ChildWindow)
    button.pack()


def ChildWindow(self):

    #Create menu
    popup = Menu(self, tearoff=0)
    popup.add_command(label="Next", command=self.selection)
    popup.add_separator()

    def do_popup(event):
        # display the popup menu
        try:
            popup.tk_popup(event.x_root, event.y_root, 0)
        finally:
            # make sure to release the grab (Tk 8.0a1 only)
            popup.grab_release()

    #Create Treeview
    win2 = Toplevel()
    new_element_header=['1st']
    treeScroll = ttk.Scrollbar(win2)
    treeScroll.pack(side=RIGHT, fill=Y)
    self.tree = ttk.Treeview(win2,columns=new_element_header, show="headings")
    self.tree.heading("1st", text="1st")
    self.tree.insert("" , 0,    text="Line 1", values=("1A"))
    self.tree.pack(side=LEFT, fill=BOTH)

    self.tree.bind("<Button-3>", …
Run Code Online (Sandbox Code Playgroud)

python treeview tkinter

4
推荐指数
1
解决办法
4503
查看次数

如何使用Tkinter将水平和垂直滚动条附加到树视图?

我一直试图为tkinter树视图附加水平和垂直滚动条.在我的主应用程序中,所有数据都来自sql数据库,因此我需要能够在sperate窗口中滚动大量数据.我已经设法将树视图放在子窗口中,但是我仍然坚持如何附加有效的滚动条.

虽然目前有一个垂直滚动条,但它似乎没有连接到树视图,也没有滚动浏览我输入的任何数据.

有没有办法在我的应用程序中放置垂直和水平滚动条?

import Tkinter as tk
import os
import sys
import re
import ttk
from Tkinter import *
import tkFont


class application(tk.Tk):

    def __init__(self, *args, **kwargs):
            tk.Tk.__init__(self, *args, **kwargs)
            container = tk.Frame(self)
            container.pack(side="top", fill="both", expand = True)
            container.grid_rowconfigure(0, weight=1)
            container.grid_columnconfigure(0, weight=1)
            self.frames = {}        

            for F in (app_one, app_two):
                frame = F(container, self)
                self.frames[F] = frame
                frame.grid(row=0, column=0, sticky="nsew")
            self.show_frame(app_one)

    def show_frame(self, cont):
        frame = self.frames[cont]
        frame.tkraise()


class app_one(tk.Frame):

    def __init__(self, parent, controller):
            tk.Frame.__init__(self,parent)
            button = ttk.Button(self, text="Page One", …
Run Code Online (Sandbox Code Playgroud)

python treeview tkinter

3
推荐指数
1
解决办法
5323
查看次数

标签 统计

python ×2

tkinter ×2

treeview ×2