我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【python】制作一个简单的界面,有手就行的界面~

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【python】制作一个简单的界面,有手就行的界面~

目录

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

ttkbootstrap 是一个基于 tkinter 的界面美化库,

使用这个工具可以开发出类似前端 bootstrap 风格的 tkinter 桌面程序。

ttkbootstrap 不仅有丰富的案例,同时还有完善的官方文档,可惜是英文的。

不过对于程序员来说,只要用好翻译软件与提供的案例代码,一样可以轻松上手,那么接下来我们就介绍一下这个工具的使用。

准备工作

首先肯定是需要安装一下 ttkbootstrap

版本要新,最好不要用镜像源安装

  • pip install ttkbootstrap

win + R 输入cmd 输入安装命令 或 在pycharm中点击Terminal(终端) 输入安装命令

试手小案例

可以先来个小案例试试手

import ttkbootstrap as ttkfrom 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()

开始我们今天的案例教学

做个界面

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

用户注册框

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)

性别单选框

# 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)

兴趣爱好

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)

生日

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())

提交信息按钮

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)

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

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()

尾语 💝

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

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

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

—— 心灵鸡汤

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

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

来源地址:https://blog.csdn.net/python56123/article/details/130225501

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【python】制作一个简单的界面,有手就行的界面~

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么利用PyQt5制作一个简单的登录界面

这篇文章主要介绍“怎么利用PyQt5制作一个简单的登录界面”,在日常操作中,相信很多人在怎么利用PyQt5制作一个简单的登录界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用PyQt5制作一个简单的登
2023-07-02

关于Python制作简单的图形界面GUI

#简单的图形界面GUI(Graphical User Interface)from tkinter import *import tkinter.messagebox as messageboxclass Application(Frame
2023-01-31

python 制作一个gui界面的翻译工具

目录一.准备工作二.预览1.主界面2.翻译3.支持多种语言哦三.源代码3.1 My_Translator-v2.0.py3.2 Translator.py四.总结一.准备工作除了Tkinter,还需要google_trans_new,没有安
2022-06-02

利用Qt制作简单的日期选择界面

Qt自带的日期选择控件过于丑陋与难用,所以但凡有点小想法的人都会做一个全新的日历。这篇文章就来利用Qt制作一个简单的日期选择界面,感兴趣的可以了解一下
2023-03-08

怎么用Qt制作简单的日期选择界面

本文小编为大家详细介绍“怎么用Qt制作简单的日期选择界面”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Qt制作简单的日期选择界面”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Qt自带的日期选择控件过于丑陋
2023-07-05

如何使用Python3制作一个带GUI界面的小说爬虫工具

这篇文章主要介绍如何使用Python3制作一个带GUI界面的小说爬虫工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图最近帮朋友写个简单爬虫,顺便整理了下,搞成了一个带GUI界面的小说爬虫工具,用来从笔趣阁爬取
2023-06-29

Win7没有和xp一样的驱动安装界面如何手动更新单一驱动程序

驱动是一种可以使计算机和设备通信的特殊陈旭,假如某设备的驱动程序未能正确安装,便不能正常工作,对于刚从xp系统换从win7系统的用户来说,win7中没有和xphttp://www.cppcns.com系统一样的驱动安装界面,所编程以想要更新
2023-06-06

Android真机界面的大小与MuMu模拟器运行出来的手机屏幕大小不一致问题的一个解决办法

–最近在做毕业设计,作为一个新手遇到了这个屏幕大小问题,最后用了“土办法”可算是解决了。我的手机是小米6x,屏幕大小是1080乘2160。刚开始我把MuMu模拟器界面大小调至1080乘2160,运行效果会是这样:–这一切看起来似乎很正常的样
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录