pythonを始めたばかりの初心者です。Tkinterを使いシステ厶を作っています。
ラジオボタンとスライダーを別々の製作したのですが、この2つを1つにまとめることが出来ません。クラスの構成がいまいちよく理解しておりませんので、その点でつまずいております。自分なりに色々調べてみましたが解決出来る自信がありませんのでご質問させていただきました。勉強不足&初歩的な質問で申し訳ありませんがアドバイスをよろしくおねがいいたします。
button_Ru=tk.Radiobutton(value=0,bg='#6499ef').grid(column=1, row=2, padx=(45,30),pady=(45,8))
tk.Label(text="Run",fg="white",bg="#014cc4",font=("",13,"bold")).grid(column=1, row=3, padx=(10,5),pady=(5,5))
button_Re=tk.Radiobutton(value=1,bg='#6499ef').grid(column=2, row=2,padx=(30,30), pady=(45,8))
tk.Label(text="Record",fg="white",bg="#014cc4",font=("",13,"bold")).grid(column=2, row=3, padx=(0,5),pady=(5,5))
button_P=tk.Radiobutton(value=2,bg='#6499ef').grid(column=3, row=2, padx=(25,30), pady=(45,8))
tk.Label(text="Program",fg="white",bg="#014cc4",font=("",13,"bold")).grid(column=3, row=3,padx=(0,5),pady=(5,5))
上記のコードを下記のクラスに入れたいのですが自分なりにコードを入れてみてもボタンが表示されません。
import tkinter as tk
import tkinter
from tkinter import *
from tkinter import font
root = tk.Tk()
root.title("screen2")
root.geometry("320x240")
root.configure(width = 320, height=240,bg='#014cc4')
frame = tk.Frame(root)
class Application(Frame):
def init(self, master):
Frame.init(self, master)
self.grid()
self.create_widgets()
class Ex(Frame):
def __init__(self, *args): super().__init__(*args) Pack.config(self) self.createWidgets() def createWidgets(self): self.slider = Scale( self, name = "slider", from_ = -30, to =30 , orient = HORIZONTAL, length = "8cm", label = "Slider", command = self.update, ) for name, text, command in [ ("minButton" , '|<' , self.reset_min ), ("leftButton" , '<<' , self.skip_left ), ("rightButton", '>>' , self.skip_right), ("maxButton" , '>|' , self.reset_max ), ("quitButton" , 'Set', self.quit ), ]: setattr(self, name, Button( self, name = name, text = text, command = command, )) self.grid(pady=(150,0),padx=(5,0)) self.slider.pack(side=TOP) self.minButton.pack(padx=(30,5),side = LEFT) self.leftButton.pack(padx=(0,5),side = LEFT) self.rightButton.pack(padx=(0,5),side = LEFT) self.maxButton.pack(padx=(0,5),side = LEFT) self.quitButton.pack(padx=(0,10),side = LEFT) def update(self, val): self.slider["label"] = "Slider value: %s"%val def min(self): return self.slider["from"] def max(self): return self.slider["to"] def value(self): return self.slider.get() def reset_min(self): value = self.min() self.slider.set(value) def skip_left(self): value = max(self.value()-5, self.min()) self.slider.set(value) def skip_right(self): value = min(self.value()+5, self.max()) self.slider.set(value) def reset_max(self): value = self.max() self.slider.set(value)
----------------------------------------
def example(*args):
ex = Ex()
ex.mainloop()
----------------------------------------
if name=='main':
example()
root.mainloop()
ここに言語を入力
コード
回答1件
あなたの回答
tips
プレビュー