首页 > 解决方案 > 文本中带有空格的组合框的值

问题描述

我有一个从 mysql 请求提供的组合框。如果结果有空格的问题似乎是错误的

如果我在 mysql: test1 在我的组合框中我有 test1 = OK test 2 在我的组合框中我有 {test 2} = 错误

#FRAME INFO
frame_info = LabelFrame (Product, text = 'Info Maker',height=240,width=1000)
frame_info.place (x=220, y=10)

combo_maker = ttk.Combobox(frame_info,state="readonly")
#combo_maker['value'] = combo_input()
combo_maker['value'] = combo_input()
combo_maker.current(0)
combo_maker.place(x=5, y=5, height = 25, width = 180)

#FRAME INFO

标签: pythontkintercombobox

解决方案


你从 mysql 得到的结果是一个元组列表。在插入组合框之前,您需要先将它们展平。

下面展示了展平前后的差异:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

def combo_input():
    return [('test 1',), ('test 2',), ('test3',)]

a_combo_maker = ttk.Combobox(root,state="readonly")
a_combo_maker["value"] = combo_input()
a_combo_maker.current(0)
a_combo_maker.pack()

b_combo_maker = ttk.Combobox(root,state="readonly")
b_combo_maker["value"] = [item for result in combo_input() for item in result if item]
b_combo_maker.current(0)
b_combo_maker.pack()

root.mainloop()

推荐阅读