Python を学習して簡単なインターフェイスを作成する初心者

序文

Pythonを学び始めたばかりの多くのBaoziは、いくつかのインターフェイスを理解し始めようと考えていますが、それらの多くは少し難しく、自分で理解することはできないため、コードをコピーして貼り付け+実行するしかありません

ここで、単純なインターフェースを作成するためのコードを理解してもらいます

ここに画像の説明を挿入

ttkbootstrap は、tkinter ベースのインターフェイス美化ライブラリです。

このツールを使用すると、フロントエンドのブートストラップ スタイルに似た tkinter デスクトップ プログラムを開発できます。

写真の説明を追加してください

ttkbootstrap は事例が豊富なだけでなく、公式ドキュメントも充実、残念ながら英語のみ

しかし、私たちの場合は、翻訳ソフトと付属のケースコードをうまく活用すれば、簡単に始めることができるので、次にこのツールの使い方を紹介します。

準備

まず、ttkbootstrap をインストールする必要があります。

バージョンは新しい必要があります。ミラー ソース インストールを使用しないことをお勧めします。

pip インストール 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()
完整源码+v:xiaoyuanllsll
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 = [
    完整源码+v:xiaoyuanllsll
    [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)

ここに画像の説明を挿入

ここに画像の説明を挿入

やっと

記事のシェアはここまで

Python について質問がある場合は、コメント欄にメッセージを残すことができます。

それではまた次の記事で〜

おすすめ

転載: blog.csdn.net/yxczsz/article/details/130388207