最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?ttkbootstrap?制作賬戶(hù)注冊(cè)信息界面的案例代碼

 更新時(shí)間:2022年02月18日 10:39:52   作者:終究不過(guò)路人  
ttkbootstrap 是一個(gè)基于 tkinter 的界面美化庫(kù),使用這個(gè)工具可以開(kāi)發(fā)出類(lèi)似前端 bootstrap 風(fēng)格的 tkinter 桌面程序。本文重點(diǎn)給大家介紹Python?ttkbootstrap?制作賬戶(hù)注冊(cè)信息界面的案例代碼,感興趣的朋友一起看看吧

前言

ttkbootstrap 是一個(gè)基于 tkinter 的界面美化庫(kù),使用這個(gè)工具可以開(kāi)發(fā)出類(lèi)似前端 bootstrap 風(fēng)格的 tkinter 桌面程序。
ttkbootstrap 不僅有豐富的案例,同時(shí)還有完善的官方文檔,可惜是英文的。不過(guò)對(duì)于程序員來(lái)說(shuō),只要用好翻譯軟件與提供的案例代碼,一樣可以輕松上手,那么接下來(lái)我們就介紹一下這個(gè)工具的使用。

準(zhǔn)備工作

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

版本要新,最好不要用鏡像源安裝
pip install ttkbootstrap

import ttkbootstrap as ttk
from ttkbootstrap.constants import *
# root = tk.Tk()  # 使用 tkinter 創(chuàng)建窗口對(duì)象
root = ttk.Window()  # 使用 ttkbootstrap 創(chuàng)建窗口對(duì)象
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()

開(kāi)始我們今天的案例教學(xué)

完整代碼,復(fù)制運(yùn)行即可(明示??????)

import ttkbootstrap as tk

root = tk.Window(themename='litera')
root.geometry('350x500+500+500')
root.title('萌新-注冊(cè)頁(yè)面')
root.wm_attributes('-topmost', 1)
username_str_var = tk.StringVar()
password_str_var = tk.StringVar()
# 0 女 1 男 -1 保密
gender_str_var = tk.IntVar()
# 興趣愛(ài)好
hobby_list = [
    [tk.IntVar(), '吃'],
    [tk.IntVar(), '喝'],
    [tk.IntVar(), '玩'],
    [tk.IntVar(), '樂(lè)'],
]
# 賬戶(hù)信息
tk.Label(root, width=10).grid()
tk.Label(root, text='用戶(hù)名:').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(
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 = {
        '用戶(hù)名': 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()

1、做個(gè)界面

root = tk.Window(themename='litera')
root.geometry('350x500+500+500')
root.title('萌新-注冊(cè)頁(yè)面')
root.wm_attributes('-topmost', 1)
root.mainloop()

2、用戶(hù)注冊(cè)框

tk.Label(root, width=10).grid()
tk.Label(root, text='用戶(hù)名:').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、興趣愛(ài)好

hobby_list = [
    [tk.IntVar(), '吃'],
    [tk.IntVar(), '喝'],
    [tk.IntVar(), '玩'],
    [tk.IntVar(), '樂(lè)'],
]
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、保存數(shù)據(jù)

def get_info():
    data = {
        '用戶(hù)名': 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)

到此這篇關(guān)于Python ttkbootstrap 制作賬戶(hù)注冊(cè)信息界面的文章就介紹到這了,更多相關(guān)Python ttkbootstrap賬戶(hù)注冊(cè)界面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python從入門(mén)到精通之類(lèi)的使用詳解

    Python從入門(mén)到精通之類(lèi)的使用詳解

    Python是一種功能強(qiáng)大且廣泛使用的編程語(yǔ)言,它支持面向?qū)ο缶幊蹋∣OP),本文將介紹Python中類(lèi)的使用,包括類(lèi)的創(chuàng)建、屬性和方法的定義、繼承和多態(tài)等關(guān)鍵技術(shù)點(diǎn),希望對(duì)大家有所幫助
    2023-07-07
  • numpy中np.sort返回索引的具體使用

    numpy中np.sort返回索引的具體使用

    本文主要介紹了使用numpy中np.sort函數(shù)返回索引的詳細(xì)解釋和使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python虛擬環(huán)境的原理及使用詳解

    Python虛擬環(huán)境的原理及使用詳解

    這篇文章主要介紹了Python虛擬環(huán)境的原理及使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Pycharm不同版本鏡像源添加方法

    Pycharm不同版本鏡像源添加方法

    本文主要介紹了Pycharm不同版本鏡像源添加方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python中g(shù)lob庫(kù)實(shí)現(xiàn)文件名的匹配

    Python中g(shù)lob庫(kù)實(shí)現(xiàn)文件名的匹配

    本文主要主要介紹了Python中g(shù)lob庫(kù)實(shí)現(xiàn)文件名的匹配,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • PyCharm2019.3永久激活破解詳細(xì)圖文教程,親測(cè)可用(不定期更新)

    PyCharm2019.3永久激活破解詳細(xì)圖文教程,親測(cè)可用(不定期更新)

    這篇文章主要介紹了PyCharm2019.3最新激活碼(注冊(cè)碼)破解永久版詳細(xì)圖文教程的相關(guān)資料,親測(cè)可用,需要的朋友可以參考下
    2020-10-10
  • python3新特性函數(shù)注釋Function Annotations用法分析

    python3新特性函數(shù)注釋Function Annotations用法分析

    這篇文章主要介紹了python3新特性函數(shù)注釋Function Annotations用法,結(jié)合實(shí)例形式分析了Python3函數(shù)注釋的定義方法與使用技巧,需要的朋友可以參考下
    2016-07-07
  • python識(shí)別圖標(biāo)并點(diǎn)擊功能實(shí)現(xiàn)

    python識(shí)別圖標(biāo)并點(diǎn)擊功能實(shí)現(xiàn)

    這篇文章主要介紹了python識(shí)別圖標(biāo)并點(diǎn)擊功能實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 使用Python實(shí)現(xiàn)輕松調(diào)整視頻的播放速度

    使用Python實(shí)現(xiàn)輕松調(diào)整視頻的播放速度

    這篇文章主要介紹了如何通過(guò) moviepy.editor 中的 VideoFileClip 類(lèi)和 fx.speedx 函數(shù)實(shí)現(xiàn)輕松地調(diào)整視頻的播放速度,感興趣的可以了解下
    2024-11-11
  • 提升Python運(yùn)行速度的5個(gè)小技巧

    提升Python運(yùn)行速度的5個(gè)小技巧

    這篇文章主要為大家介紹了Python提升運(yùn)行速度的幾個(gè)小技巧,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12

最新評(píng)論

清苑县| 时尚| 电白县| 富锦市| 邢台市| 石棉县| 靖江市| 松潘县| 淮阳县| 内江市| 通城县| 温宿县| 若羌县| 平安县| 聂拉木县| 西乌珠穆沁旗| 易门县| 左权县| 虎林市| 阜城县| 灵台县| 高陵县| 叙永县| 兴山县| 铜陵市| 通州市| 凤阳县| 定襄县| 那曲县| 浠水县| 黎川县| 芜湖县| 五寨县| 瓮安县| 武夷山市| 安达市| 同江市| 霍城县| 茌平县| 龙游县| 忻州市|