簡體   English   中英

使用逗號從 tkinter 文本小部件列表中插入值

[英]Inserting values from a list the tkinter text widget using commas

我創建了一個 UI,允許檢查 Word 文檔段落中使用的字體是否為 Times New Roman。 如果段落是使用任何其他字體編寫的,則字體名稱將通過 tkinter (8.6) 文本小部件顯示給用戶。 無效字體存儲在集合中。

每個無效字體在文本小部件中用逗號分隔。 但是,逗號也會出現在集合的最后一個元素之后。 這種行為是不希望的。

我想知道如何防止逗號出現在最后一個元素之后。

該代碼是在 PyCharm(社區版 2021.3.3)上使用 Python(3.10)編寫的。

代碼如下所示。 該代碼僅顯示用於檢查字體的功能,而不是整個代碼,因為它涉及按鈕並且可能太長。 歡迎任何幫助。

# function that checks font
def font_name():
    if var1.get() == 1:
        # access file
        doc = Document(filename)
        # check font for paragraphs
        font = set()  # store all font names
        invalid_fonts = set()  # store unacceptable font
        VALID_FONT = 'Times New Roman'  # state the valid font
        for paragraphs in doc.paragraphs:
            if 'Normal' == paragraphs.style.name:
                for run in paragraphs.runs:
                    # add fonts from each run
                    font.add(run.font.name)
                    # check if fonts are valid
                    if run.font.name != VALID_FONT:
                        invalid_fonts.add(run.font.name)

        # check if all elements in font are VALID_FONT
        if {VALID_FONT} == font:
            output_display.insert("All paragraphs are written in Times New Roman font." + '\n')
            # check if all elements in font are not VALID_FONT
        elif {VALID_FONT} != font:
            output_display.insert('end', "Paragraph written in unrecognised font(s): ")
            for invalid_fonts in invalid_fonts:
                output_display.insert('end', invalid_fonts + ', ')  # add invalid font(s) to text widget

您可以使用str.join()函數:

import tkinter as tk

root = tk.Tk()


my_list = ['1', '2', '3', '3']

display = tk.Text(root)
display.insert(tk.END, ','.join(my_list))
display.pack()

root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM