【Python】Tkinterクリックイベントで処理分岐したい

Python_Tkinterクリックイベントで処理分岐_アイキャッチ Python

PythonでTkinterのボタンクリックをした際に、イベント処理を分岐するコードをご紹介します。

ぜひ、お試しください。

Tkinterクリックイベントで処理分岐したい

以下のコードを実行すると、押されたボタンによって処理分岐します。


import requests
import tkinter as tk
from selenium import webdriver

#アクセスするHPを設定
Hp_Yahoo = 'https://www.yahoo.co.jp/'
Hp_Amazon = 'https://www.amazon.co.jp/'
Hp_Rakuten = 'https://www.rakuten.co.jp/'

# GUI画面作成
tki = tk.Tk()
tki.geometry('300x300')
tki.title('確認')

# ボタンが押されたときのコールバック関数
def btn1():
    global Hp_Judg
    Hp_Judg = Hp_Yahoo
    tki.quit()
def btn2():
    global Hp_Judg
    Hp_Judg = Hp_Amazon
    tki.quit()
def btn3():
    global Hp_Judg
    Hp_Judg = Hp_Rakuten
    tki.quit()

# ボタンの作成・位置指定
label = tk.Label(tki, text="アクセスするHPを選択してね")
label.pack()

btn1 = tk.Button(tki, text='ヤフー', command=btn1)
btn1.place(x=20, y=55)

btn2 = tk.Button(tki, text='アマゾン', command=btn2)
btn2.place(x=20, y=95)

btn3 = tk.Button(tki, text='楽天', command=btn3)
btn3.place(x=20, y=135)

# 画面をそのまま表示
tki.mainloop()

# Chromeオプション設定
options = webdriver.ChromeOptions()

# ドライバのパス設定
driver_path = 'C:/Users/xxx/Desktop/Python/chromedriver.exe'

# Chromeを起動
driver = webdriver.Chrome(executable_path = driver_path, chrome_options = options)

# 指定したURLのWebページへ遷移
driver.get(Hp_Judg)

 

コード実行後

Tkinterで操作画面(GUI)の中にボタンを表示します。


 

それぞれのボタンをクリックするとイベントが発生し、

処理分岐にて指定のHPへ自動アクセスします。


 

グローバル変数の正しい使い方がわかっていないため、

一部、無理やりなコードになっているかもしれません(;´Д`)オユルシクダサイ

参考になりましたら、幸いです。
 

【Python】amazonに自動ログインしてみた selenium基本テクニック
...

 

「Python 1年生 体験してわかる!会話でまなべる!」

初めての方でも安心して取り組めるように丁寧に解説
簡単なサンプルを作りながら、対話形式でプログラミングまで紹介
人工知能の導入としてもオススメの1冊です!