Chapter 1: Creating the GUI Form and Adding Widgets

简介: # -*- coding: utf-8 -*-# importimport tkinter as tk # 1 importsfrom tkinter import ttkfrom tkinter import scrolledtext as stwin = tk.
# -*- coding: utf-8 -*-

# import
import tkinter as tk  # 1 imports
from tkinter import ttk

from tkinter import scrolledtext as st

win = tk.Tk()  # 2 Create instance
win.title("Python GUI")  # 3 Add a title
# win.resizable(0, 0)           # 4 Disable resizing the GUI

# add a label                   #4
aLabel = ttk.Label(win, text="输入文本:")
aLabel.grid(column=0, row=0)  # 5

ttk.Label(win, text="choose a number").grid(column=1, row=0)
number = tk.StringVar()

# only be able to select the values we have programmed into the Combobox:state="readonly"
numberChosen = ttk.Combobox(win, width=12, textvariable=number, state="readonly")
numberChosen.grid(column=1, row=1)
numberChosen["values"] = (1, 2, 3, 4, 5, 6, 12)
numberChosen.current(3)


def clickMe():
    action.configure(text="hello " + name.get() + "-" + number.get())
    # aLabel.configure(foreground="red")


# add a button                   #4
action = ttk.Button(win, text="点我", command=clickMe)
action.grid(column=3, row=1)
# action.configure(state="disabled")  # Disable the Button Widget

# Adding a Textbox Entry widget    # 5
name = tk.StringVar()
nameEntered = ttk.Entry(win, width=12, textvariable=name)
nameEntered.grid(column=0, row=1)
nameEntered.focus()  # Place cursor into name Entry


# Creating three checkbuttons    # 1
# 0 (unchecked) or 1 (checked) so the type of the variable is a tkinter integer.
chVarDis = tk.IntVar()           # 2
check1 = tk.Checkbutton(win, text="Disabled", variable=chVarDis, state='disabled')                     # 3
check1.select()                  # 4
check1.grid(column=0, row=4, sticky=tk.W) # 5

chVarUn = tk.IntVar()            # 6
check2 = tk.Checkbutton(win, text="UnChecked", variable=chVarUn)
check2.deselect()                # 8
check2.grid(column=1, row=4, sticky=tk.W) # 9

chVarEn = tk.IntVar()            # 10
check3 = tk.Checkbutton(win, text="Enabled", variable=chVarEn)
check3.select()                  # 12
check3.grid(column=2, row=4, sticky=tk.W) # 13


# 代码重构(refactor our code)
# Radiobutton Globals #1 更多颜色参考:http://www.tcl.tk/man/tcl8.5/TkCmd/colors.htm
COLOR1 = "DarkSalmon" #2
COLOR2 = "honeydew" #3
COLOR3 = "AliceBlue" #4
# Radiobutton Callback # 5
# colors = ["DarkSalmon", "honeydew", "AliceBlue"]
# create three Radiobuttons using one variable(绑定到一个变量上可以在单选按钮中只选中一个)
radVar = tk.IntVar()
def radCall(): #6
      radSel=radVar.get()
      if   radSel == 1: win.configure(background=COLOR1)
      elif radSel == 2: win.configure(background=COLOR2)
      elif radSel == 3: win.configure(background=COLOR3)

rad1 = tk.Radiobutton(win, text=COLOR1, variable=radVar, value=1, command=radCall)              # 9
rad1.grid(column=0, row=5, sticky=tk.W)  # 10
rad2 = tk.Radiobutton(win, text=COLOR2, variable=radVar, value=2, command=radCall)                             # 11
rad2.grid(column=1, row=5, sticky=tk.W)  # 12
rad3 = tk.Radiobutton(win, text=COLOR3, variable=radVar, value=3, command=radCall)                             # 13
rad3.grid(column=2, row=5, sticky=tk.W)  # 14


# Using a scrolled Text control
scrollW = 30
scrollH = 3
scroll = st.ScrolledText(win,width = scrollW, height=scrollH,wrap= tk.WORD)
scroll.grid(column=0, columnspan=3)
scroll.focus()


win.mainloop()  # 5 Start GUI
AI 代码解读
目录
打赏
0
0
0
0
1
分享
相关文章
解决报错did you register the component correctly? For recursive components, make sure to provide the “na
解决报错did you register the component correctly? For recursive components, make sure to provide the “na
Unity报错之 No Sprite Editor Window registered. Please download 2D Sprite package from Package Manager
Unity2019操作对图集进行操作编辑出错:No Sprite Editor Window registered. Please download 2D Sprite package from Package Manager.
1361 0
Unity报错之 No Sprite Editor Window registered. Please download 2D Sprite package from Package Manager
Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled
Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled. Please enable it to continue 这个错误提示表明目标网页要求启用JavaScript才能正常工作,而默认情况下,Selenium WebDriver是启用JavaScript的。如果遇到此错误,请按照以下步骤尝试解决问题
823 0
Selenium使用中报错:We\'re sorry but hr-frontend-v2 doesn\'t work properly without JavaScript enabled
Using JavaFX UI Controls 12 Table View
原文链接地址:http://docs.oracle.com/javafx/2/ui_controls/table-view.htm#CJAGAAEE
277 0
Using JavaFX UI Controls 12 Table View
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等