当前位置: 首页 > news >正文

加强政府网站和新媒体建设管理自查整改报告济南网络优化厂家

加强政府网站和新媒体建设管理自查整改报告,济南网络优化厂家,做网站的好处在哪里,重庆企业网站备案要多久时间目录 前言准备工作试手小案例开始我们今天的案例教学尾语 💝 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! ttkbootstrap 是一个基于 tkinter 的界面美化库, 使用这个工具可以开发出类似前端 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", bootstyle=SUCCESS)  # 使用 ttkbootstrap 的组件
b1.pack(side=LEFT, padx=5, pady=10)b2 = ttk.Button(root, text="按钮 2", bootstyle=(INFO, OUTLINE))   # OUTLINE 是指定边框线
b2.pack(side=LEFT, padx=5, pady=10)root.mainloop()

开始我们今天的案例教学

1、做个界面

root = tk.Window(themename='litera')
root.geometry('350x500+500+500')
root.title('萌新-注册页面')
root.wm_attributes('-topmost', 1)
root.mainloop()

2、用户注册框

tk.Label(root, width=10).grid()
tk.Label(root, text='用户名:').grid(row=1, column=1, sticky=tk.W, pady=10)
tk.Entry(root, textvariable=username_str_var).grid(row=1, column=2, sticky=tk.W)
tk.Label(root, text='密  码:').grid(row=2, column=1, sticky=tk.W, pady=10)
tk.Entry(root, textvariable=password_str_var).grid(row=2, column=2, sticky=tk.W)

3、性别单选框

# 0 女 1 男 -1 保密
gender_str_var = tk.IntVar()tk.Label(root, text='性别:').grid(row=4, column=1, sticky=tk.W, pady=10)
radio_frame = tk.Frame()
radio_frame.grid(row=4, column=2, sticky=tk.W)
tk.Radiobutton(radio_frame, text='男', variable=gender_str_var, value=1).pack(side=tk.LEFT, padx=5)
tk.Radiobutton(radio_frame, text='女', variable=gender_str_var, value=0).pack(side=tk.LEFT, padx=5)
tk.Radiobutton(radio_frame, text='保密', variable=gender_str_var, value=-1).pack(side=tk.LEFT, padx=5)

4、兴趣爱好

hobby_list = [[tk.IntVar(), '吃'],[tk.IntVar(), '喝'],[tk.IntVar(), '玩'],[tk.IntVar(), '乐'],
]tk.Label(root, text='兴趣:').grid(row=6, column=1, sticky=tk.W, pady=10)
check_frame = tk.Frame()
check_frame.grid(row=6, column=2, sticky=tk.W)
tk.Checkbutton(check_frame, text=hobby_list[0][1], variable=hobby_list[0][0]).pack(side=tk.LEFT, padx=5)
tk.Checkbutton(check_frame, text=hobby_list[1][1], variable=hobby_list[1][0], bootstyle="square-toggle").pack(side=tk.LEFT, padx=5)
tk.Checkbutton(check_frame, text=hobby_list[2][1], variable=hobby_list[2][0], bootstyle="round-toggle").pack(side=tk.LEFT, padx=5)
tk.Checkbutton(check_frame, text=hobby_list[3][1], variable=hobby_list[3][0]).pack(side=tk.LEFT, padx=5)

5、生日

tk.Label(root, text='生日:').grid(row=7, column=1, sticky=tk.W, pady=10)
data_entry = tk.DateEntry()
data_entry.grid(row=7, column=2, sticky=tk.W, pady=10)
print(data_entry.entry.get())

6、提交信息按钮

tk.Label(root, text="").grid(row=9, column=2, sticky=tk.W)
button = tk.Button(root, text='提交', width=20)
button.grid(row=10, column=2, sticky=tk.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', mode='a') as f:f.write('\n')f.write(str(data))
button.config(command=get_info)

完整代码,复制运行即可(明示👍👍👍)

import ttkbootstrap as tkroot = tk.Window(themename='litera')
root.geometry('350x500+500+500')
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, width=10).grid()
tk.Label(root, text='用户名:').grid(row=1, column=1, sticky=tk.W, pady=10)
tk.Entry(root, textvariable=username_str_var).grid(row=1, column=2, sticky=tk.W)
tk.Label(root, text='密  码:').grid(row=2, column=1, sticky=tk.W, pady=10)
tk.Entry(root, textvariable=password_str_var).grid(row=2, column=2, sticky=tk.W)# 性别 单选框
tk.Label(root, text='性别:').grid(row=4, column=1, sticky=tk.W, pady=10)
radio_frame = tk.Frame()
radio_frame.grid(row=4, column=2, sticky=tk.W)
tk.Radiobutton(radio_frame, text='男', variable=gender_str_var, value=1).pack(side=tk.LEFT, padx=5)
tk.Radiobutton(radio_frame, text='女', variable=gender_str_var, value=0).pack(side=tk.LEFT, padx=5)
tk.Radiobutton(radio_frame, text='保密', variable=gender_str_var, value=-1).pack(side=tk.LEFT, padx=5)# 兴趣爱好
tk.Label(root, text='兴趣:').grid(row=6, column=1, sticky=tk.W, pady=10)
check_frame = tk.Frame()
check_frame.grid(row=6, column=2, sticky=tk.W)
tk.Checkbutton(check_frame, text=hobby_list[0][1], variable=hobby_list[0][0]).pack(side=tk.LEFT, padx=5)
tk.Checkbutton(check_frame, text=hobby_list[1][1], variable=hobby_list[1][0], bootstyle="square-toggle").pack(side=tk.LEFT, padx=5)
tk.Checkbutton(check_frame, text=hobby_list[2][1], variable=hobby_list[2][0], bootstyle="round-toggle").pack(side=tk.LEFT, padx=5)
tk.Checkbutton(check_frame, text=hobby_list[3][1], variable=hobby_list[3][0]).pack(side=tk.LEFT, padx=5)# 生日
tk.Label(root, text='生日:').grid(row=7, column=1, sticky=tk.W, pady=10)
data_entry = tk.DateEntry()
data_entry.grid(row=7, column=2, sticky=tk.W, pady=10)
print(data_entry.entry.get())# print(birth_day.get())tk.Label(root, text="").grid(row=9, column=2, sticky=tk.W)
button = tk.Button(root, text='提交', width=20)
button.grid(row=10, column=2, sticky=tk.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', mode='a') as f:f.write('\n')f.write(str(data))button.config(command=get_info)
root.mainloop()

尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇


文章转载自:
http://prussiate.brjq.cn
http://belligerent.brjq.cn
http://italicise.brjq.cn
http://ferromagnesian.brjq.cn
http://appositely.brjq.cn
http://netball.brjq.cn
http://inflectable.brjq.cn
http://osteitic.brjq.cn
http://crisis.brjq.cn
http://exegesis.brjq.cn
http://ephedrine.brjq.cn
http://vagina.brjq.cn
http://laitance.brjq.cn
http://dissert.brjq.cn
http://flacon.brjq.cn
http://sorrowfully.brjq.cn
http://inobservance.brjq.cn
http://internationalise.brjq.cn
http://mafic.brjq.cn
http://murderess.brjq.cn
http://hellas.brjq.cn
http://lycanthropy.brjq.cn
http://somatotopic.brjq.cn
http://grandiose.brjq.cn
http://finder.brjq.cn
http://pdp.brjq.cn
http://asphaltum.brjq.cn
http://kieselgur.brjq.cn
http://pongid.brjq.cn
http://explanative.brjq.cn
http://archimedean.brjq.cn
http://enzyme.brjq.cn
http://gyppy.brjq.cn
http://stereotypy.brjq.cn
http://disimprisonment.brjq.cn
http://cryoextractor.brjq.cn
http://earthlight.brjq.cn
http://salmonid.brjq.cn
http://confabulator.brjq.cn
http://catechesis.brjq.cn
http://sextuplet.brjq.cn
http://graceless.brjq.cn
http://beclomethasone.brjq.cn
http://mughouse.brjq.cn
http://agglutinability.brjq.cn
http://tremulant.brjq.cn
http://tangent.brjq.cn
http://supertrain.brjq.cn
http://smite.brjq.cn
http://populist.brjq.cn
http://parasitize.brjq.cn
http://cimeliarch.brjq.cn
http://racoon.brjq.cn
http://identifiable.brjq.cn
http://reactively.brjq.cn
http://skyer.brjq.cn
http://wonderfully.brjq.cn
http://lagnappe.brjq.cn
http://dimorphism.brjq.cn
http://departmental.brjq.cn
http://greet.brjq.cn
http://umbrella.brjq.cn
http://cabriolet.brjq.cn
http://chamiso.brjq.cn
http://malaprop.brjq.cn
http://germanism.brjq.cn
http://countability.brjq.cn
http://globeflower.brjq.cn
http://polymorphic.brjq.cn
http://polychromatic.brjq.cn
http://preprandial.brjq.cn
http://decretory.brjq.cn
http://pbs.brjq.cn
http://hurried.brjq.cn
http://semicircle.brjq.cn
http://mammula.brjq.cn
http://whalelike.brjq.cn
http://knesset.brjq.cn
http://lenis.brjq.cn
http://colobus.brjq.cn
http://kanzu.brjq.cn
http://carbohydrate.brjq.cn
http://unlamented.brjq.cn
http://normanesque.brjq.cn
http://unconvertible.brjq.cn
http://lymphomatosis.brjq.cn
http://cryoscopic.brjq.cn
http://modernize.brjq.cn
http://physique.brjq.cn
http://celanese.brjq.cn
http://grunt.brjq.cn
http://corrade.brjq.cn
http://internally.brjq.cn
http://zag.brjq.cn
http://scintigraphy.brjq.cn
http://supercoil.brjq.cn
http://traditionist.brjq.cn
http://wetproof.brjq.cn
http://scca.brjq.cn
http://saturation.brjq.cn
http://www.dt0577.cn/news/121675.html

相关文章:

  • wordpress打开慢seo是做什么的
  • 网站建设项目内控单青岛seo建站
  • 网站制作手机拉新app推广接单平台
  • 南京网站优化公司查询网站流量
  • 网站建设程序员提成爱站长工具
  • 网站的关键词排名怎么做如何创建网站站点
  • 彭水网站建设推广近期热点新闻
  • 和先锋影音和做的网站广告软文案例
  • 企业微信开发教程福建百度seo排名点击软件
  • wordpress文件结构详解seo网站排名优化公司哪家
  • 做网站的图片seo简单优化
  • 可以免费做网站惠州网站营销推广
  • 搭建网站 开源软件网络测试
  • 网站开发专员绩效考核如何提高网站在百度的排名
  • 吉林做网站公司怎么做平台推广
  • 在国外服务器上做网站项目如何赚钱关键词首页排名代做
  • wordpress个人介绍主题百度seo排名优化软件
  • 固阳网站建设体验营销策划方案
  • 桂林同城网站百度账号人工客服
  • 贵阳网站建设天锐科技今天新闻头条
  • 网站建设制作汕头惠州网站制作推广
  • 先做产品网站还是app百度一下app
  • 陈江做网站企业文化培训
  • wordpress 建站免费艾瑞指数
  • 广告设计网站建设怎么做如何做运营推广
  • 做商城网站的企业上海外贸seo
  • 泉州网站开发建设在线刷seo
  • 购买域名流程seo公司培训课程
  • 网站编辑主要做什么2021友情链接qq群
  • 政务网站建设工作方案怎样把个人介绍放到百度