python - 用于单击 Python Tkinter Text Widget 中每一行的单独命令

标签 python tkinter

背景

出现在我的文本小部件中的每一项都代表任务。我在列表框上使用文本小部件,因为文本小部件允许不同的项目使用不同的颜色。每个任务的颜色是其状态。是否可以为每个任务设置单独的 LC 命令?

我有一个拆分 Pane 应用程序,右侧有任务(可能可滚动),我想单击一个任务将其打开,以便在左侧 Pane 中进行检查。

主要问题

我可以以任何方式在 Python Text Tkinter 小部件中左键单击单独的行上激活单独的事件吗?

最佳答案

只需在 <1> 上设置绑定(bind)即可。使用 index 可以轻松获取单击的行号。小部件的方法和事件的 x/y 坐标。

这是一个简单的例子:

import Tkinter as tk

class ExampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.status = tk.Label(self, anchor="w")
        self.status.pack(side="bottom", fill="x")
        self.text = tk.Text(self, wrap="word", width=40, height=8)
        self.text.pack(fill="both", expand=True)
        self.text.bind("<1>", self.on_text_button)
        for n in range(1,20):
            self.text.insert("end", "this is line %s\n" % n)


    def on_text_button(self, event):
        index = self.text.index("@%s,%s" % (event.x, event.y))
        line, char = index.split(".")
        self.status.configure(text="you clicked line %s" % line)

if __name__ == "__main__":
    app = ExampleApp()
    app.mainloop()

关于python - 用于单击 Python Tkinter Text Widget 中每一行的单独命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606091/

相关文章:

python - 假日日历、文件格式等

在 tkinter 中使用 PIL 打开图像时 Python 3.4 崩溃

Python Tkinter Spinbox 似乎重置了变量值

Python图形库: How to set the x and y coordinates of the window?

python - 如何在pyspark中合并连续的重复行

python - 如何通过 Python 使用 Selenium 单击此按钮

python - 将图像中每个像素的 RGB 值导入一维数组

python tkinter接口(interface)如何创建一个新的显示txt文件

python - 如何使用tix.DirSelectDialog?

python - 有哪些好的 python 库可以满足以下需求?