Python脚本速成

5_单选框

# -*- 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("5.单选框")
        self.master.geometry("500x350+700+100")
        self.master.configure(bg='white')

        # 字典
        self.单选框是映射 = {
            "第一个": "单选框A",
            "第二个": "单选框B",
        }

        # 创建界面组件
        self.create_widgets()

        self.统一对象.set("第一个") # 设置选中A 【第一个单选框】

        self.master.nametowidget('按钮_取选中的项').config(command=self.选中的项)

    def 选中的项(self):
        选中的项 = self.统一对象.get()

        选中项文本 = self.单选框是映射[选中的项]

        print(选中项文本)

        # self.master.nametowidget('文本框_日志').insert(tk.END,选中项文本+"\n") # 追加到末尾
        self.master.nametowidget('文本框_日志').insert(tk.END, f'{选中项文本}\n')  # 追加到末尾



    def create_widgets(self):
        """创建所有界面组件"""

        # 按钮: 按钮_579dec61 -> btn_1
        self.btn_1 = tk.Button(
            self.master,
            text="取选中的项",
            bg="#4CAF50",
            fg="white",
            font=('微软雅黑', 10),
            name="按钮_取选中的项"
        )
        self.btn_1.place(
            x=205.0,
            y=15.0,
            width=100,
            height=25
        )

        # 单选框: 单选框_d846f484 -> radio_1
        self.统一对象 = tk.StringVar()
        self.radio_1 = tk.Radiobutton(
            self.master,
            text="单选框A",
            variable=self.统一对象,
            value='第一个',
            bg="white",
            fg="black",
            font=('微软雅黑', 10),
            name="单选框_A"
        )
        self.radio_1.place(
            x=84.0,
            y=65.0,
            width=161.0,
            height=28.0
        )

        # 单选框: 单选框_4421911c -> radio_2
        # self.radio_2_var = tk.StringVar(value=True)
        self.radio_2 = tk.Radiobutton(
            self.master,
            text="单选框B",
            variable=self.统一对象,
            value='第二个', # 假
            bg="white",
            fg="black",
            font=('微软雅黑', 10),
            name="单选框_B"
        )
        self.radio_2.place(
            x=256.0,
            y=65.0,
            width=142.0,
            height=25.0
        )

        # 文本框: 文本框_f72ea96e -> text_1
        self.text_1 = tk.Text(
            self.master,
            bg="white",
            fg="black",
            font=('微软雅黑', 10),
            name="文本框_日志"
        )
        self.text_1.place(
            x=25.0,
            y=118.0,
            width=449.0,
            height=222.0
        )


def main():
    """主函数"""
    root = tk.Tk()
    app = GeneratedUI(root)
    root.mainloop()

if __name__ == "__main__":
    main()