合肥网站设计 goz,广州购物网站建设价格,dw做的网站有缝怎么办,深圳网页设计机构目录 前言准备工作试手小案例开始我们今天的案例教学尾语 #x1f49d; 前言
嗨喽~大家好呀#xff0c;这里是魔王呐 ❤ ~! ttkbootstrap 是一个基于 tkinter 的界面美化库#xff0c;
使用这个工具可以开发出类似前端 bootstrap 风格的 tkinter 桌面程序。 ttkbootstrap … 目录 前言准备工作试手小案例开始我们今天的案例教学尾语 前言
嗨喽~大家好呀这里是魔王呐 ❤ ~! ttkbootstrap 是一个基于 tkinter 的界面美化库
使用这个工具可以开发出类似前端 bootstrap 风格的 tkinter 桌面程序。 ttkbootstrap 不仅有丰富的案例同时还有完善的官方文档可惜是英文的。 不过对于程序员来说只要用好翻译软件与提供的案例代码一样可以轻松上手那么接下来我们就介绍一下这个工具的使用。
准备工作
首先肯定是需要安装一下 ttkbootstrap
版本要新最好不要用镜像源安装
pip install ttkbootstrap
win R 输入cmd 输入安装命令 或 在pycharm中点击Terminal(终端) 输入安装命令
试手小案例
可以先来个小案例试试手
import ttkbootstrap as ttk
from ttkbootstrap.constants import *# root tk.Tk() # 使用 tkinter 创建窗口对象
root ttk.Window() # 使用 ttkbootstrap 创建窗口对象root.geometry(300x150)b1 ttk.Button(root, text按钮 1, bootstyleSUCCESS) # 使用 ttkbootstrap 的组件
b1.pack(sideLEFT, padx5, pady10)b2 ttk.Button(root, text按钮 2, bootstyle(INFO, OUTLINE)) # OUTLINE 是指定边框线
b2.pack(sideLEFT, padx5, pady10)root.mainloop()开始我们今天的案例教学
1、做个界面
root tk.Window(themenamelitera)
root.geometry(350x500500500)
root.title(萌新-注册页面)
root.wm_attributes(-topmost, 1)
root.mainloop()2、用户注册框
tk.Label(root, width10).grid()
tk.Label(root, text用户名).grid(row1, column1, stickytk.W, pady10)
tk.Entry(root, textvariableusername_str_var).grid(row1, column2, stickytk.W)
tk.Label(root, text密 码).grid(row2, column1, stickytk.W, pady10)
tk.Entry(root, textvariablepassword_str_var).grid(row2, column2, stickytk.W)3、性别单选框
# 0 女 1 男 -1 保密
gender_str_var tk.IntVar()tk.Label(root, text性别).grid(row4, column1, stickytk.W, pady10)
radio_frame tk.Frame()
radio_frame.grid(row4, column2, stickytk.W)
tk.Radiobutton(radio_frame, text男, variablegender_str_var, value1).pack(sidetk.LEFT, padx5)
tk.Radiobutton(radio_frame, text女, variablegender_str_var, value0).pack(sidetk.LEFT, padx5)
tk.Radiobutton(radio_frame, text保密, variablegender_str_var, value-1).pack(sidetk.LEFT, padx5)4、兴趣爱好
hobby_list [[tk.IntVar(), 吃],[tk.IntVar(), 喝],[tk.IntVar(), 玩],[tk.IntVar(), 乐],
]tk.Label(root, text兴趣).grid(row6, column1, stickytk.W, pady10)
check_frame tk.Frame()
check_frame.grid(row6, column2, stickytk.W)
tk.Checkbutton(check_frame, texthobby_list[0][1], variablehobby_list[0][0]).pack(sidetk.LEFT, padx5)
tk.Checkbutton(check_frame, texthobby_list[1][1], variablehobby_list[1][0], bootstylesquare-toggle).pack(sidetk.LEFT, padx5)
tk.Checkbutton(check_frame, texthobby_list[2][1], variablehobby_list[2][0], bootstyleround-toggle).pack(sidetk.LEFT, padx5)
tk.Checkbutton(check_frame, texthobby_list[3][1], variablehobby_list[3][0]).pack(sidetk.LEFT, padx5)5、生日
tk.Label(root, text生日).grid(row7, column1, stickytk.W, pady10)
data_entry tk.DateEntry()
data_entry.grid(row7, column2, stickytk.W, pady10)
print(data_entry.entry.get())6、提交信息按钮
tk.Label(root, text).grid(row9, column2, stickytk.W)
button tk.Button(root, text提交, width20)
button.grid(row10, column2, stickytk.W)7、保存数据
def get_info():data {用户名: username_str_var.get(),密码: password_str_var.get(),性别: gender_str_var.get(),兴趣: [h for v, h in hobby_list if v.get()],生日: data_entry.entry.get()}print(data)with open(1.txt, modea) as f:f.write(\n)f.write(str(data))
button.config(commandget_info)完整代码复制运行即可明示
import ttkbootstrap as tkroot tk.Window(themenamelitera)
root.geometry(350x500500500)
root.title(萌新-注册页面)
root.wm_attributes(-topmost, 1)username_str_var tk.StringVar()
password_str_var tk.StringVar()# 0 女 1 男 -1 保密
gender_str_var tk.IntVar()
# 兴趣爱好
hobby_list [[tk.IntVar(), 吃],[tk.IntVar(), 喝],[tk.IntVar(), 玩],[tk.IntVar(), 乐],
]# 账户信息
tk.Label(root, width10).grid()
tk.Label(root, text用户名).grid(row1, column1, stickytk.W, pady10)
tk.Entry(root, textvariableusername_str_var).grid(row1, column2, stickytk.W)
tk.Label(root, text密 码).grid(row2, column1, stickytk.W, pady10)
tk.Entry(root, textvariablepassword_str_var).grid(row2, column2, stickytk.W)# 性别 单选框
tk.Label(root, text性别).grid(row4, column1, stickytk.W, pady10)
radio_frame tk.Frame()
radio_frame.grid(row4, column2, stickytk.W)
tk.Radiobutton(radio_frame, text男, variablegender_str_var, value1).pack(sidetk.LEFT, padx5)
tk.Radiobutton(radio_frame, text女, variablegender_str_var, value0).pack(sidetk.LEFT, padx5)
tk.Radiobutton(radio_frame, text保密, variablegender_str_var, value-1).pack(sidetk.LEFT, padx5)# 兴趣爱好
tk.Label(root, text兴趣).grid(row6, column1, stickytk.W, pady10)
check_frame tk.Frame()
check_frame.grid(row6, column2, stickytk.W)
tk.Checkbutton(check_frame, texthobby_list[0][1], variablehobby_list[0][0]).pack(sidetk.LEFT, padx5)
tk.Checkbutton(check_frame, texthobby_list[1][1], variablehobby_list[1][0], bootstylesquare-toggle).pack(sidetk.LEFT, padx5)
tk.Checkbutton(check_frame, texthobby_list[2][1], variablehobby_list[2][0], bootstyleround-toggle).pack(sidetk.LEFT, padx5)
tk.Checkbutton(check_frame, texthobby_list[3][1], variablehobby_list[3][0]).pack(sidetk.LEFT, padx5)# 生日
tk.Label(root, text生日).grid(row7, column1, stickytk.W, pady10)
data_entry tk.DateEntry()
data_entry.grid(row7, column2, stickytk.W, pady10)
print(data_entry.entry.get())# print(birth_day.get())tk.Label(root, text).grid(row9, column2, stickytk.W)
button tk.Button(root, text提交, width20)
button.grid(row10, column2, stickytk.W)def get_info():data {用户名: username_str_var.get(),密码: password_str_var.get(),性别: gender_str_var.get(),兴趣: [h for v, h in hobby_list if v.get()],生日: data_entry.entry.get()}print(data)with open(1.txt, modea) as f:f.write(\n)f.write(str(data))button.config(commandget_info)
root.mainloop()尾语
要成功先发疯下定决心往前冲
学习是需要长期坚持的一步一个脚印地走向未来
未来的你一定会感谢今天学习的你。
—— 心灵鸡汤
本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 问题解答 · 源码获取 · 技术交流 · 抱团学习请联系