标签: text-widget

如何清除/删除Tkinter Text小部件的内容?

我正在TKinterUbuntu上编写一个Python程序来导入和打印Textwidget中特定文件夹中的文件名.它只是将文件名添加到Text 窗口小部件中的先前电影名称,但我想首先清除它,然后添加一个新的文件名列表.但我正在努力清除Text小部件以前的文件名列表.

有人可以解释如何清除Text小部件吗?

屏幕截图和编码如下:

截图显示带有内容的文本小部件

import os
from Tkinter import *

def viewFile():
    path = os.path.expanduser("~/python")
    for f in os.listdir(path):
        tex.insert(END, f + "\n")

if __name__ == '__main__':
    root = Tk()

    step= root.attributes('-fullscreen', True)
    step = LabelFrame(root, text="FILE MANAGER", font="Arial 20 bold italic")
    step.grid(row=0, columnspan=7, sticky='W', padx=100, pady=5, ipadx=130, ipady=25)

    Button(step, text="File View", font="Arial 8 bold italic", activebackground=
           "turquoise", width=30, height=5, command=viewFile).grid(row=1, column=2)
    Button(step, text="Quit", font="Arial 8 bold italic", activebackground=
           "turquoise", width=20, …
Run Code Online (Sandbox Code Playgroud)

python tkinter text-widget

27
推荐指数
4
解决办法
9万
查看次数

Tkinter:在<Key>事件后设置StringVar,包括按下的键

每次将一个角色输入一个Text小部件时,我想获取该小部件的内容并从某个数字中减去它的长度(基本上是"你有x个字符剩下的"交易).

StringVar()总是落后于一件事.这是我收集的内容,因为在将字符输入到Text小部件之前处理了该事件.这意味着如果我在该字段中有3个字符并且我输入第4个,StringVar则更新但仍然是3个字符长,然后当我输入第5个字符时它更新为4.

有没有办法让两者保持一致?

这是一些代码.我删除了不相关的部分.

def __init__(self, master):
    self.char_count = StringVar()
    self.char_count.set("140 chars left")

    self.post_tweet = Text(self.master)
    self.post_tweet.bind("<Key>", self.count)
    self.post_tweet.grid(...)

    self.char_count = Label(self.master, textvariable=self.foo)
    self.char_count.grid(...)

def count(self):
    self.x = len(self.post_tweet.get(1.0, END))
    self.char_count.set(str(140 - self.x))
Run Code Online (Sandbox Code Playgroud)

python tkinter text-widget

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

如何将文本小部件的一部分标记为只读?

如何将 tkinter 文本小部件的一部分标记为只读?也就是说,我希望能够只允许在小部件的某些部分进行编辑。例如,我想只允许在提示之后而不是之前进行编辑,以模拟控制台。

python tkinter text-widget

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

撤消tkinter文本小部件中的功能

我试图undo在我的文本小部件上使用函数,tkinter但没有任何运气.我这样试过:

from Tkinter import *
from ttk import Notebook

def OnVsb(*args):
    text.yview(*args)
    numbers.yview(*args)

def OnMouseWheel(event):
    text.yview("scroll", event.delta,"units")
    numbers.yview("scroll",event.delta,"units")
    return "break"

def undo(*argv):
    text.edit_undo()

root = Tk()
defaultbg = root.cget('bg')
root.bind('<Control-z>', undo)
note = Notebook(root)
frame = Frame(note, bd=5, relief=GROOVE, padx=5, pady=5)
frame.pack()
bar = Scrollbar(frame, command=OnVsb)
bar.pack(side=RIGHT, fill=Y)
numbers = Listbox(frame, width=5, height=30,bg=defaultbg,relief=FLAT,   yscrollcommand=bar.set)
numbers.pack(side=LEFT, fill=Y)
text = Text(frame,bd=3, width=145, height=30, yscrollcommand=bar.set)
text.pack(side=LEFT, fill=Y) 
text.bind("<MouseWheel>", OnMouseWheel)
text.tag_config("attr", foreground="tomato")
text.tag_config("value", foreground="dark violet")
text.tag_config("tags", foreground="dodger blue")
text.tag_config("text", font=("Georgia", …
Run Code Online (Sandbox Code Playgroud)

python tkinter python-2.x python-2.7 text-widget

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

有没有办法在圆圈周围(或在圆圈内)旋转文本?

典型的纺车我正在 Python tKinter 中制作纺车。通常,当您旋转轮子时,您会落在轮子上的一个随机切片上,其中随机选择是切片上显示的文本。我找不到在切片上旋转文本的方法。

我试图在 中使用角度选项create_text function,只有它围绕圆心旋转文本:

for x in range(len(spinList)):
    color = "#"+("%06x"%random.randint(0,16777215))
    c.create_arc(xy, start=90+((360/size)*x), extent=(360/size), fill=color, outline='black', width=2)
    c.create_text(200, 200, text=spinList[x], angle=90+((180/size)*x)) 
Run Code Online (Sandbox Code Playgroud)

我想要的预期结果是在纺车的每个单独切片上显示的文本,而是围绕中点旋转。有没有办法不让这种情况发生?

python geometry text tkinter text-widget

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

调整 Flutter Text Widget 中的新行间距

所以,目标很简单,将一堆文本包装在一个容器中。\n为此,我遵循了Flutter 包装文本,但是创建的新行与前一行之间的空间太大

\n

我的 Container() 和 Text() 代码:

\n
 description == ""\n              ? SizedBox.shrink()\n              : Container(\n                  padding: const EdgeInsets.symmetric(horizontal: 10.0),\n                  //width: MediaQuery.of(context).size.width * 0.8,\n                  child: Column(\n                    mainAxisAlignment: MainAxisAlignment.start,\n                    children: [\n                      new Text(\n                        description,\n                        textAlign: TextAlign.left,\n                        style: TextStyle(fontSize: 18),\n                      ),\n                    ],\n                  ),\n                )\n
Run Code Online (Sandbox Code Playgroud)\n

小提示:如果对父小部件有任何描述,我只是使用 SizeBox.shrink() 作为“空小部件”。

\n

当前情况如何,空间太大:

\n

当前的

\n

应该如何:

\n

设计目标

\n

我知道 1\xc2\xba 图像更大,但这不是行间距更大的原因

\n

text text-widget flutter flutter-layout

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

移动到文本小部件tkinter中的特定位置

我想知道是否可以移动到tkinter中文本小部件中的特定位置.我在文本小部件中实现了搜索,并希望实现"next"和"previous"方法,以便我的搜索在文本小部件中移动.有可能吗?谢谢你的帮助.

这是我的方法的代码:

def find():
    xml.tag_delete("search")
    xml.tag_configure("search", background="green")
    start="1.0"
    if len(fi.get()) > 0:
        xml.mark_set("insert", xml.search(fi.get(), start))
        while True:
            pos = xml.search(fi.get(), start, END) 
            if pos == "": 
                break       
            start = pos + "+%dc" % len(fi.get()) 
            xml.tag_add("search", pos, "%s + %dc" % (pos,len(fi.get())))
Run Code Online (Sandbox Code Playgroud)

fi是搜索模式的输入字段.xml是一个文本字段.

python tkinter python-2.7 text-widget

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

Flutter Text小部件中的StrutStyle是什么

什么是StrutStyle在颤振Text部件?我读过这个文件,但我无法理解的意义,特别是heightleadingfontSize参数。

我的答案如下。

dart text-widget flutter

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

Python3 Tkinter Text Widget INSERT在同一行

我有一个带有文本小部件的tkinter应用程序python3,我插入了文本.我想在与前一个插入相同的行上添加插入的文本,如下所示:

from tkinter import *

class App :

    def __init__(self):
        sys.stdout.write = self.print_redirect

        self.root = Tk()
        self.root.geometry("900x600")

        self.mainframe = Text(self.root, bg='black', fg='white')
        self.mainframe.grid(column=0, row=0, sticky=(N,W,E,S)) 
        # Set the frame background, font color, and size of the text window
        self.mainframe.grid(column=0, row=0, sticky=(N,W,E,S))

        print( 'Hello: ' )

        print( 'World!' )

    def print_redirect(self, inputStr):
        # add the text to the window widget
        self.mainframe.insert(END, inputStr, None)
        # automtically scroll to the end of the mainframe window
        self.mainframe.see(END)


a = App() …
Run Code Online (Sandbox Code Playgroud)

python tkinter python-3.x text-widget

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

自动调整文本小部件的高度以适合所有文本

如何自动调整文本小部件的大小以适应文本小部件的高度

  • \n文本小部件不会有任何om,而是文本将环绕(整个单词)并继续向下。wrap=WORD

这怎么能做到?

我接近问题陈述的想法:我想知道是否可以在每次文本环绕在文本小部件中时进行计数,并通过该给定值以某种方式计算文本小部件的高度?- 只是一个想法.. 我不知道这是否可能。

**为什么这不是重复的**

这不是重复的,如果您认为是重复的,请链接到您声称它是重复的问题。他们都实施了一个解决方案,在该解决方案中,它在文本小部件的每次击键中检查 '\n'。我的文本小部件中根本没有任何 '\n'。而是将这些词环绕起来!

这不是我正在寻找的解决方案,因为它正在寻找 '\n' 并根据找到的高度相应地更改高度。由于我不会使用任何 '\n' 而是将单词环绕在 ( Text(frame, wrap=WORDS))周围,​​所以不会出现 '\n' 使该解决方案无用!”

这就是为什么这个代码,从人们声称这是重复的问题,不会解决这个问题,这不是重复的。

不会解决我的问题,因为它寻找 '\n':

    import Tkinter

class TkExample(Tkinter.Frame):
   def __init__(self, parent):
      Tkinter.Frame.__init__(self, parent)
      self.init_ui()

   def init_ui(self):
      self.pack()
      text_box = Tkinter.Text(self)
      text_box.pack()
      text_box.bind("<Key>", self.update_size)

   def update_size(self, event):
      widget_width = 0
      widget_height = float(event.widget.index(Tkinter.END))
      for line in event.widget.get("1.0", Tkinter.END).split("\n"):
         if len(line) > widget_width:
            widget_width = len(line)+1
      event.widget.config(width=widget_width, height=widget_height)

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

编辑示例

这就是我不使用消息小部件的原因,它们不会重新排列文本以填写文本小部件。

在此处输入图片说明

python text tkinter text-widget

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