PythonでのTkinterグラフィカルインターフェイスデザイン(詳細なチュートリアル)第3に、tkinter共通コントロールの特徴的な属性

3つ目は、tkinter共通コントロールの特徴的な属性です。

3.1テキスト入力および出力関連のコントロール

3.1.1ラベルとメッセージ

テキストの入力および出力コントロールには、通常、ラベル(ラベル)、メッセージ(メッセージ)、入力ボックス(エントリ)、テキストボックス(テキスト)が含まれます。前述の共通の属性に加えて、それらはすべていくつかの特徴的な属性と機能を持っています。

  • ラベルとメッセージ:1行と複数行の違いを除いて、属性と使用法は基本的に同じであり、テキスト情報を表示するために使用されます。属性テキストは通常​​、インスタンスが最初にレンダリングされたときにインスタンスの固定テキストに使用され、プログラムの実行後に変更する必要がある場合は、次のいずれかの方法を使用して次のいずれかを実行できます。1。使用するコントロールインスタンスのconfigure()メソッド属性テキストの値を変更するには、表示されるテキストを変更できます。2。まず、tkinter内部型変数var = StringVar()を定義して、表示されるテキストを変更します。
    次の例を見てください。電子時計を作成し、rootのafter()メソッドを使用して1秒ごとにシステムの現在の時刻を取得し、それをラベルに表示します。

方法1:configure()メソッドまたはconfig()を使用して、テキストを変更します。

#coding=utf-8
import tkinter
import datetime
Win = tkinter.Tk()
Win.title("时钟")
Win.geometry("650x60+200+200")

LabelTime = tkinter.Label(Win,text='',fg='blue',font=("黑体",50))

def GetTime():
    TimeStr = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    LabelTime.configure(text=TimeStr)  # 重新设置标签文本
    Win.after(1000, GetTime)  # 每隔1s调用函数 gettime 自身获取时间

LabelTime.pack()
GetTime()
Win.mainloop()

ここに画像の説明を挿入
方法2:textvariable変数属性を使用してテキストの変更を実現する

def GetTime2():
      TimeStr2.set(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))   # 获取当前时间
      Win.after(1000,GetTime2)   # 每隔1s调用函数 gettime 自身获取时间
TimeStr2=tkinter.StringVar()
LabelTime2 = tkinter.Label(Win,textvariable=TimeStr2,fg='blue',font=("黑体",50))
LabelTime2.pack()
GetTime2()
3.1.2テキストボックス

テキストボックスの一般的な方法は次のとおりです。

方法 特徴
delete(開始位置、[終了位置]) 指定した領域のテキストを削除します
get(開始位置、[終了位置]) 指定された領域のテキストを取得します
insert(location、[string] ...) 指定した位置にテキストを挿入します
see(location) テキストが指定された位置に表示されているかどうか、ブール値を返します
インデックス(マーク) マーカーが配置されている行と列を返します
mark_names() すべてのタグ名を返す
mark_set(マーク、位置) すべてのタグ名を返す
mark_unset(mark) マークを削除
  • 上記の表の位置の値は、整数、浮動小数点、またはEND(終了)にすることができます。たとえば、0.0は列0と行0を意味します。
  • 例は次のとおりです。1秒ごとに現在の日付と時刻を取得し、次のようにテキストボックスに書き込みます。この例では、datetime.now()を呼び出して現在の日付と時刻を取得し、insert()を使用します。終了(END)がテキストの追加を開始するたびにテキストボックスからtxtを取得するメソッド。
#coding=utf-8
import tkinter
import datetime

def GetTime():
       TimeStr = str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))+'\n'
       txt.insert(tkinter.END,TimeStr)
       Win.after(1000,GetTime)  # 每隔1s调用函数 gettime 自身获取时间

Win = tkinter.Tk()
Win.geometry('320x240')
txt = tkinter.Text(Win)
txt.pack()
GetTime()
Win.mainloop()

ここに画像の説明を挿入

3.1.3エントリー

これは通常、1行のテキスト入力を受け取るための比較的単一の関数を持つコントロールとして使用されます。テキストを操作するメソッドは多数ありますが、通常使用されるのはvalueメソッドget()とテキストの削除削除(開始位置、終了位置)、例:次のように入力ボックスをクリアしますdelete(0、END)

3.2ボタン

これは主に、実行中のプログラムをトリガーするためのマウスクリックイベントに応答して設定されるため、コントロールの共通属性に加えて、属性コマンドが最も重要な属性です。通常、ボタンによってトリガーされるプログラムは関数の形式で事前定義されており、関数は次の2つの方法で呼び出すことができます。ボタンボタンの状態は、「通常」、「アクティブ」、「無効」です。

○関数を直接呼び出します。パラメータ式は「コマンド=関数名"、関数名の後に括弧を追加したり、パラメーターを渡したりしないように注意してください。たとえば、command = run1
○無名関数を使用して関数を呼び出し、パラメーターを渡します。パラメータの式は「command = lambda":関数名(パラメータリスト)。例:"command = lambda:run2(inp1.get()、inp2.get())」。

○次の例を見てください。1。2つの入力ボックスからの入力テキストは、加算のために浮動小数点値に変換されます。ボタンをクリックするたびに生成された結果は、次の形式でテキストボックスに追加する必要があります。テキスト、および元の入力ボックスは空になります。2.ボタンメソッド1は、パラメーターを渡さずに関数run1()を呼び出すことによって実装され、ボタン「メソッド2」は、ラムダを使用して関数run2(x、y)を呼び出し、パラメーターを渡すことによって実装されます。

3.3ラジオボタン

3.4チェックボックス

3.5リストボックスとコンボボックス

3.5.1リストボックス
3.5.2コンボボックス

3.6スライダー)

3.7メニュー

3.8 子窗体

3.9モーダルダイアログボックス(モーダル)

3.9.1インタラクティブダイアログ
3.9.2ファイル選択ダイアログ
3.9.3色選択ダイアログ

第四に、インシデント対応

5、背景画像

6.カメラとディスプレイの電源を入れます

1.グラフィカルインターフェイスデザインの基本的な理解

おすすめ

転載: blog.csdn.net/zhuan_long/article/details/110918425