小编Dee*_*rks的帖子

如何获取文本小部件的当前光标位置

我正在使用屏幕键盘为基于 tkinter 的 gui 键入数据。
我能够使用输入字段通过屏幕键盘输入、编辑数据,例如获取当前光标位置和字符串长度。

temp = self.entry_label.get()
length_string=len(temp)
cursor_position = self.entry_label.index(INSERT)
Run Code Online (Sandbox Code Playgroud)

但我希望对 Text 小部件做同样的事情。我可以使用get()方法及其长度获取 Text 小部件的文本,但无法获取当前鼠标光标位置。

temp=self.new_text.get(1.0, END)
cursor_position = self.new_text.index(INSERT)
Run Code Online (Sandbox Code Playgroud)

实际上它有效,我可以向该位置添加字符,但是在添加字符光标后返回到原始位置,即最后一个字符

python tkinter python-2.7

6
推荐指数
1
解决办法
9183
查看次数

在tkinter中的Combobox fontsize

嗨,我正在尝试使用ttk Combobox创建一个带有选项的下拉列表.这样做我可以配置传递给它的默认值的字体大小.但是当我点击箭头时,其他值的字体大小保持不变.我正在开发触摸屏的应用程序,所以我需要提供适当的大小.下面是示例代码,当我运行代码时,A的大小更大,按下单击箭头键,我看到其他值是默认大小.

#! /usr/bin/python

from Tkinter import *
import ttk


class Application:

    def __init__(self, parent):
        self.parent = parent
        self.combo()

    def combo(self):
        self.box_value = StringVar()
        self.box = ttk.Combobox(self.parent, textvariable=self.box_value,font=("Helvetica",20))
        self.box['values'] = ('A', 'B', 'C')
        self.box.current(0)
        self.box.grid(column=0, row=0)

if __name__ == '__main__':
    root = Tk()
    app = Application(root)
    root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter

5
推荐指数
1
解决办法
3551
查看次数

在Entry小部件中更改光标的位置

我按下按钮时尝试将Entry小部件的光标向左移动.我已经尝试过,我可以获得光标的当前位置,但我无法移动它.
我在网上搜索但没有找到任何有用的东西.如何在Entry小部件中移动光标位置?

#! /usr/bin/python
from Tkinter import *

class App(Frame):
    def __init__(self,parent):
        Frame.__init__(self,parent)
        self.parent=parent
        self.button = Button(self.parent, text="Shift_cursor_left", fg="red")
        self.button.pack(side=LEFT)
        self.entry_label=Entry(self.parent,width=10,bd="1",bg="cyan",font=("Helvetica",15),text="python",justify=RIGHT)
        self.entry_label.pack()
        self.entry_label.focus()
        self.entry_label.insert(0,"Python")

        self.button["command"]=self.shift_cursor()

    def shift_cursor(self):
        position = self.entry_label.index(INSERT)
        print position
        # self.entry_label.mark_set(INSERT,'1.2')

root=Tk()
app=App(root)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter python-2.7

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

标签 统计

python ×3

tkinter ×3

python-2.7 ×2