Python tkinter スケール f文字列

投稿者: | 2017年3月10日

お気楽 Python/Tkinter 入門でtkinterについて勉強中。 http://www.geocities.jp/m_hiroi/light/pytk01.html#chap02 16進数の扱い方で詰まった。 f”の使い方が少し分かった。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from tkinter import *


def main():

    # メインウィンドウ
    root = Tk()

    # スケールの値を格納
    red = IntVar()
    red.set(0)

    blue = IntVar()
    blue.set(0)
    green = IntVar()
    green.set(0)

    # ボタンの背景色を変更
    def change_color(n):
        color = f'#{red.get():02X}{blue.get():02X}{green.get():02X}' # f'{変数:桁数n進数}' 桁数とn進数はくっつけてよい
        button.configure(bg=color)
        # print(f'#{red.get():02X}{blue.get():02X}{green.get():02X}')

    # ボタン
    button = Button(root, text='Button', bg='#000')
    button.pack()

    # スケール
    s1 = Scale(root, label='red', orient='h', from_=0, to=255, variable=red, command=change_color)
    s2 = Scale(root, label='blue', orient='h', from_=0, to=255, variable=blue, command=change_color)
    s3 = Scale(root, label='green', orient='h', from_=0, to=255, variable=green, command=change_color)

    # ウィジェットの配置
    s1.pack(fill="both")
    s2.pack(fill="both")
    s3.pack(fill="both")

    # メインループ
    root.mainloop()


if __name__ == '__main__':
    main()
GUIが簡単?に作れるから初心者でも楽しい。
今のところ・・・



Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください