Python tkinterのグラフィカルインターフェイス設計

Python バージョン 3.0 以降を使用してください

まずウィンドウを作成しましょう。

import tkinter as tk
 
root = tk.Tk()
root.title("我的窗口")                     #窗口标题
root.iconbitmap("my_icon.ico")            #窗口图标
root.geometry("500x500+100+100")          #窗口尺寸500x500  100+100分别是 X轴Y轴距离
root.resizable(False, False)              #窗口禁止放大缩小
 
root.mainloop()                           #窗口刷新

コンピュータのデスクトップにウィンドウを設定する小さな例

関数 説明する
winfo_screenwidth() 画面幅
winfo_screenheight() 画面の長さ
winfo_reqwidth() ウィンドウの幅
winfo_reqheight() ウィンドウの長さ
import tkinter  as tk
def get_screen_size(win):
    return win.winfo_screenwidth(),win.winfo_screenheight()
def center_window(root, width, height):
    screenwidth = root.winfo_screenwidth()
    screenheight = root.winfo_screenheight()
    size = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2)
    root.geometry(size)
root = tk.Tk()
root.title('居中窗口')
center_window(root, 600, 600)
root.mainloop()

フォームを作成できるようになったので、一般的に使用されるコントロールに慣れてみましょう。

コントロール 説明する
ボタン ボタン コントロール。Label に似ていますが、マウス ホバー、プレス、リリース、およびキーボード アクティビティ/イベントを提供する点が異なります。
キャンバス Canvas コントロール。線やテキストなどのグラフィック要素を表示します。
チェックボタン 複数選択ボックス コントロール。プログラム内に複数の選択ボックスを提供するために使用されます (HTML のチェックボックスに似ています)。
エントリ 入力コントロール; キーボード入力を収集するために使用されます
フレーム フレーム コントロール。画面上に長方形の領域を表示し、主にコンテナとして使用されます。
ラベル ラベル コントロール; テキストとビットマップを表示可能
リストボックス リストボックス コントロール。リストボックス ウィジェットは、文字列のリストをユーザーに表示するために使用されます。
メニューボタン メニュー ボタン コントロール。メニュー項目を表示するために使用されます。
メニュー メニュー コントロール。MenuButton を押した後にポップアップするオプションのリスト。メニュー バー、ドロップダウン メニュー、ポップアップ メニューが表示されます。
メッセージ メッセージ コントロール。ラベルと同様、複数行のテキストを表示するために使用されます。ラベルと同様です。
ラジオボタン ラジオ ボタン コントロール。ラジオ ボタンのステータスを表示します (HTML のラジオと同様)
規模 範囲制御。出力の数値間隔の範囲を制限する数値スケールを表示します。
スクロール・バー スクロール バー コントロールは、コンテンツが表示領域を超えるときに使用され、Text、Canvas、Listbox、Enter でサポートされるコントロールにスクロール機能を提供します。
文章 テキスト コントロール。複数行のテキストを表示するために使用されます。
トップレベル コンテナ コントロール。フレームと同様に、別のダイアログ ボックスを提供するために使用されます。
スピンボックス 入力コントロール。Entry に似ていますが、入力範囲値を指定できます。
ペインウィンドウ PanedWindow は、1 つ以上のサブコントロールを含めることができるウィンドウ レイアウト管理プラグインです。
ラベルフレーム labelframe は単純なコンテナ コントロールです。一般的に使用される複雑なウィンドウ レイアウト。
tkメッセージボックス アプリケーションのメッセージ ボックスを表示するために使用されます。showinfo(タイトル='',メッセージ='')

次にデモを動作させます

import tkinter as tk

 #窗体
root = tk.Tk()
root.title("我的窗口")                  
root.geometry("500x500+300+300")         
root.resizable(False, False)           

#我们来创建一个button按钮
btn1=tk.Button(root,text='我是按钮1')
btn1.pack()

#也可以写成
btn2=tk.Button(root,text='我是按钮2').pack()

root.mainloop()    

制御表示設定モードは次のとおりです。

変数 = tk.control (form、text = 名前、fg = フォントの色、bg = 背景色、font = (フォント、サイズ)、width = 幅、height = 高さ)

設定が完了すると、現在はパックから始まり、3種類あることがわかります!

設定完了後、変数.pack()が実行されます


#我们来创建一个button按钮
btn1=tk.Button(root,text='我是按钮1')
btn1.pack()
 
#也可以写成
btn2=tk.Button(root, text='我是按钮2', fg='red',bg='blue', font=('黑体',10),width="20",height='5' ).pack()

パックはコントロール表示およびコントロール位置決めパラメータとして使用されます。

パラメータ 内部パラメータの説明
拡大する Expand='yes' プレイ中のレベルの上下
埋める fill = 'x': 親コントロール全体を水平方向に塗りつぶすことを意味します
fill = 'y': 親コントロール全体を垂直方向に塗りつぶすことを意味します
fill = 'both': 親コントロール全体を塗りつぶすことを意味します

Side=tk.TOPは、対応するフォームの上下左右を表します。

サイド=tk.BOTTOM

サイド=tk.LEFT

サイド=tk.RIGHT

※フロートに似ています

アンカー

東、西、南、北、南東、南西、北東、北西…の合計8つの方向があります。

それらは: e、w、n、s、ne、se、nw、sw

続報はこちらから

iPadx、iPad パディングと同様に、X 方向または Y 方向のスペースを増やします。
で_ Python キーワードは対応するテキスト値を置き換えます
忘れる()

非表示: 要素変数 .forget() が Pack() に対応して表示されます

次にメニューを使用します

import tkinter as tk
 
 #窗体
root = tk.Tk()
root.title("我的窗口")                  
root.geometry("500x500+300+300")         
root.resizable(False, False)           


menubar=tk.Menu(root)

filemenu=tk.Menu(menubar,tearoff = 0)
filemenu.add_command(label='打开文件')

filemenu1=tk.Menu(menubar,tearoff = 0)
filemenu1.add_command(label='选择编辑文件')
filemenu1.add_command(label='选择搜索文件')

menubar.add_cascade(label='文件', menu=filemenu)
menubar.add_cascade(label='编辑', menu=filemenu1)
menubar.add_cascade(label='Quit',command=root.destroy)

root.config(menu=menubar)
root.mainloop()    

おすすめ

転載: blog.csdn.net/munchmills/article/details/133467726