栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python GUI作业:tkinter控件改变背景色

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python GUI作业:tkinter控件改变背景色

要求

使用tkinter生成如下窗口:

图片.png

图片.png

在右上角文本框输入名字,在旁边的下拉框选择数字,点击"Click Me!", "Click Me!"的文本将改变成如下:

图片.png

可以选择"Unchecked"和"Enabled"的其中一个。

点击Blue、Gold、Red其中的一个,将会改变背景为对应的颜色。

最下面的文本框可以输入文本,当列数超出范围时,可以通过滚动条操作。

图片.png

参考资料
  • 本文最新版本地址

  • 本文涉及的python测试开发库 谢谢点赞!

  • 本文相关海量书籍下载

  • python工具书籍下载-持续更新

  • python GUI工具书籍下载-持续更新

参考代码
#!/usr/bin/python3# -*- coding: utf-8 -*-# 技术支持:https://www.jianshu.com/u/69f40328d4f0 # 技术支持 https://china-testing.github.io/# https://github.com/china-testing/python-api-tesing/blob/master/practices/tk/tk1.py# 项目实战讨论QQ群630011153 144081101# CreateDate: 2018-11-27import tkinter as tkfrom tkinter import ttkfrom tkinter import scrolledtext

win = tk.Tk()   

# Add a title       win.title("Python GUI")  

# Modify adding a Labela_label = ttk.Label(win, text="A Label")
a_label.grid(column=0, row=0)# Modified Button Click Functiondef click_me(): 
    action.configure(text='Hello ' + name.get() + ' ' + 
                     number_chosen.get())# Changing our Labelttk.Label(win, text="Enter a name:").grid(column=0, row=0)# Adding a Textbox Entry widgetname = tk.StringVar()
name_entered = ttk.Entry(win, width=12, textvariable=name)
name_entered.grid(column=0, row=1)# Adding a Buttonaction = ttk.Button(win, text="Click Me!", command=click_me)   
action.grid(column=2, row=1)                                 # <= change column to 2# Creating three checkbuttonsttk.Label(win, text="Choose a number:").grid(column=1, row=0)
number = tk.StringVar()
number_chosen = ttk.Combobox(win, width=12, textvariable=number, state='readonly')
number_chosen['values'] = (1, 2, 4, 42, 100)
number_chosen.grid(column=1, row=1)
number_chosen.current(3)

chVarDis = tk.IntVar()
check1 = tk.Checkbutton(win, text="Disabled", variable=chVarDis, state='disabled')
check1.select()
check1.grid(column=0, row=4, sticky=tk.W)                   

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

chVarEn = tk.IntVar()
check3 = tk.Checkbutton(win, text="Enabled", variable=chVarEn)
check3.deselect()
check3.grid(column=2, row=4, sticky=tk.W)                     

# GUI Callback function def checkCallback(*ignoredArgs):
    # only enable one checkbutton
    if chVarUn.get(): check3.configure(state='disabled')    else:             check3.configure(state='normal')    if chVarEn.get(): check2.configure(state='disabled')    else:             check2.configure(state='normal') 

# trace the state of the two checkbuttonschVarUn.trace('w', lambda unused0, unused1, unused2 : checkCallback())    
chVarEn.trace('w', lambda unused0, unused1, unused2 : checkCallback())   


# First, we change our Radiobutton global variables into a listcolors = ["Blue", "Gold",  "Red"]   

# We have also changed the callback function to be zero-based, using the list # instead of module-level global variables # Radiobutton Callbackdef radCall():
    radSel=radVar.get()
    win.configure(background=colors[radSel])# create three Radiobuttons using one variableradVar = tk.IntVar()# Next we are selecting a non-existing index value for radVarradVar.set(99)                                 
 
# Now we are creating all three Radiobutton widgets within one loopfor col in range(3):                             
    curRad = tk.Radiobutton(win, text=colors[col], variable=radVar, 
                            value=col, command=radCall)          
    curRad.grid(column=col, row=5, sticky=tk.W) 

# Using a scrolled Text control    scr = scrolledtext.ScrolledText(win, width=30, height=3, wrap=tk.WORD)
scr.grid(column=0, columnspan=3)

name_entered.focus()      # Place cursor into name Entry#======================# Start GUI#======================win.mainloop()



作者:python作业AI毕业设计
链接:https://www.jianshu.com/p/4f3558e06a20


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/219937.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号