# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
class GeneratedUI:
"""生成的Tkinter界面"""
def __init__(self, master=None):
# 创建主窗口
self.master = master if master else tk.Tk()
self.master.title("下拉框的使用")
self.master.geometry("500x350+700+100")
self.master.configure(bg='white')
# 创建界面组件
self.组件布局()
# 1、往最前面插入
临时列表 = list(self.master.nametowidget('下拉框_学历')["values"])
临时列表.insert(0,'幼儿园')
self.master.nametowidget('下拉框_学历')["values"]=临时列表
# 2、往最后面插入
临时列表 = list(self.master.nametowidget('下拉框_学历')["values"])
临时列表.append("博士后")
self.master.nametowidget('下拉框_学历')["values"] = 临时列表
# 3、按钮事件
self.master.nametowidget('按钮_取选中学历').config(command=self.取选中学历)
self.master.nametowidget('按钮_清空所有项').config(command=self.清空所有项)
def 清空所有项(self):
"""彻底清空:临时切换状态 + 清空选项 + 重置显示"""
self.master.nametowidget('下拉框_学历').config(state='normal') # 把下拉框的只读模式,修改成可修改的正常模式
self.master.nametowidget('下拉框_学历')['values'] = [] # 清空所有的选项
self.master.nametowidget('下拉框_学历').delete(0, tk.END) # 选中的项,删除
self.master.nametowidget('下拉框_学历').config(state="readonly") # 再恢复到原来的模式
def 取选中学历(self):
选中项的文本 = self.master.nametowidget('下拉框_学历').get() # 取选中项的文本
self.master.nametowidget("文本框_日志").insert(tk.END,f'当前选中:{选中项的文本}\n')
def 组件布局(self):
"""创建所有界面组件"""
# 按钮: 按钮_369675a5 -> btn_1
self.btn_1 = tk.Button(
self.master,
text="取选中学历",
bg="#4CAF50",
fg="white",
font=('微软雅黑', 10),
name="按钮_取选中学历"
)
self.btn_1.place(
x=279.0,
y=24,
width=100,
height=25
)
# 下拉框: 下拉框_8db15cbc -> combo_1
self.combo_1 = ttk.Combobox(
self.master,
values=['小学', '初中', '高中', '本科', '硕士', '博士'],
name="下拉框_学历",
state="readonly"
)
self.combo_1.place(
x=120.0,
y=24,
width=150,
height=25
)
self.combo_1.set("本科")
# 标签: 标签_a875541c -> lbl_1
self.lbl_1 = tk.Label(
self.master,
text="学历:",
bg="#2196F3",
fg="white",
font=('微软雅黑', 10),
name="标签_学历"
)
self.lbl_1.place(
x=15.0,
y=24.0,
width=100,
height=25
)
# 文本框: 文本框_717b5b0e -> text_1
self.text_1 = tk.Text(
self.master,
bg="white",
fg="black",
font=('微软雅黑', 10),
name="文本框_日志"
)
self.text_1.place(
x=14.0,
y=72.0,
width=468.0,
height=262.0
)
# 按钮: 按钮_40b495e1 -> btn_2
self.btn_2 = tk.Button(
self.master,
text="清空所有项",
bg="#4CAF50",
fg="white",
font=('微软雅黑', 10),
name="按钮_清空所有项"
)
self.btn_2.place(
x=384.0,
y=23.0,
width=100,
height=25
)
def main():
"""主函数"""
root = tk.Tk()
app = GeneratedUI(root)
root.mainloop()
if __name__ == "__main__":
main()