tkinter教程4:控件LabelFrame和Entry

tkinter教程4:控件LabelFrame和Entry


本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.

环境:

python版本:3.5

开发环境:pyCharm

源码:

LabelFrame:

LabelFrame可以包含若干个子控件,在以下例子中,将3个单选框作为子控件。

import tkinter as tk
import threading


def main():
    threading.Thread(target=gui_thread).start()


def gui_thread():
    root = tk.Tk()
    app = App(root)
    root.mainloop()


class App:
    def __init__(self, root):
        frame = tk.Frame(root)
        frame.pack()

        # LabelFrame
        self.group = tk.LabelFrame(frame, text='请选择一种颜色')
        self.group.grid(row=0, column=0)

        color_arr = [('red', 1), ('gree', 2), ('blue', 3)]
        self.v1 = tk.IntVar()
        self.v1.set(1)
        row_num = 0
        for color, num in color_arr:
            tk.Radiobutton(self.group, text=color, variable=self.v1, value=num).grid(row=row_num, column=0)
            row_num += 1
        self.label = tk.Label(frame, textvariable=self.v1)
        self.label.grid(row=0, column=1)


if __name__ == '__main__':
    main()

运行结果:

      

Entry:
 

import tkinter as tk
import threading


def main():
    threading.Thread(target=gui_thread).start()


def gui_thread():
    root = tk.Tk()
    app = App(root)
    root.mainloop()


class App:
    def __init__(self, root):
        frame = tk.Frame(root)
        frame.pack()

        tk.Label(frame, text="输入框:").grid(row=0, column=0)
        # Entry
        self.v = tk.StringVar()
        self.entry1 = tk.Entry(frame, textvariable=self.v)
        self.entry1.grid(row=0, column=1)
        self.entry1.insert(0, '012')
        self.entry1.insert(1, 'abc')
        # self.entry1.delete(0, tk.END)

        tk.Button(frame, text='打印', command=lambda x=self.v: print(x.get())).grid(row=1, column=0)


if __name__ == '__main__':
    main()

运行结果:

如果输入库中输入的是密码等字符,可以在Entry的参数中增加show='*'。这样显示出来的就是字符'*'。

猜你喜欢

转载自blog.csdn.net/jdh99/article/details/89944620