gpt4 book ai didi

python - 如何合并 tkinter 标签中不同颜色的文本

转载 作者:行者123 更新时间:2023-11-30 23:21:54 25 4
gpt4 key购买 nike

我正在使用 tkinter 标签编写一个小型股票行情显示程序,我需要将红色和绿色的文本合并到同一行中。我怎样才能做到这一点?

如果没有,我可以使用其他小部件吗?

最佳答案

一个标签中不能有多种颜色。如果您需要多种颜色,请使用单行文本小部件,或使用带有文本项的 Canvas 。

这是一个使用文本小部件的快速但肮脏的示例。它不能平滑滚动,不使用任何实际数据,并且会泄漏内存,因为我从未修剪输入小部件中的文本,但它给出了总体思路:

import Tkinter as tk
import random

class Example(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
self.ticker = tk.Text(height=1, wrap="none")
self.ticker.pack(side="top", fill="x")

self.ticker.tag_configure("up", foreground="green")
self.ticker.tag_configure("down", foreground="red")
self.ticker.tag_configure("event", foreground="black")

self.data = ["AAPL", "GOOG", "MSFT"]
self.after_idle(self.tick)

def tick(self):
symbol = self.data.pop(0)
self.data.append(symbol)

n = random.randint(-1,1)
tag = {-1: "down", 0: "even", 1: "up"}[n]

self.ticker.configure(state="normal")
self.ticker.insert("end", " %s %s" % (symbol, n), tag)
self.ticker.see("end")
self.ticker.configure(state="disabled")
self.after(1000, self.tick)

if __name__ == "__main__":
root = tk.Tk()
Example(root).pack(fill="both", expand=True)
root.mainloop()

关于python - 如何合并 tkinter 标签中不同颜色的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24760910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com