Tkinter를 컨트롤 탐색
Label 컨트롤을 탐색
텍스트를 정의하는 텍스트 매개 변수를 사용할 수 있습니다, 윈도우에 Label 컨트롤을 추가 표시 할
self.label1 = Label(self,text = 'This is a test label')
Button 컨트롤 추가
기본 형식입니다 :
self.button1 = Button(self,text = '',command = )
사용 체크 버튼 컨트롤
체크 버튼 컨트롤을 사용하기 전에, 우리는 제어 변수라고 특별한 상태를 표시하는 변수 확인란을 작성해야합니다.
우리는 제어 변수를 만들려면 다음 네 가지 방법이있다 :
- BooleanVar () - 부울 값 0과 1
- DoubleVar () - 부동 소수점 값
- 으로 intVar - 정수 값
- StringVar () - 텍스트 값
self.varCheck1 = BooleanVar()#返回一个布尔值
self.check1 = Checkbutton(self,text = 'Option1',
variable = self.varCheck1)
국가의 체크 버튼 제어를 검색하려면, 우리는 제어 변수를 얻을 () 메서드를 사용합니다.
option1 = self.varCheck1.get()
if (option1):
print('The checkbutton was selected')
else:
print('The checkbutton was not selected')
엔트리 컨트롤 사용
에 항목 컨트롤을 만들 수 :
self.entry1 = Entry(self)
항목 파이썬 윈도우 제어 입력 및 출력에 사용했을
from tkinter import *
class Application(Frame):
def __init__(self,master):
super(Application,self).__init__(master)
self.grid()
self.creat_widgets()
def creat_widgets(self):
self.label1 = Label(self,text = 'Please enter some text in lower case')
self.label1.grid(row = 0)
self.text1 = Entry(self)
self.text1.grid(row = 2)
self.button1 = Button(self,text = 'Convert text',command = self.convert)
self.button1.grid(row = 6,column = 0)
self.button2 = Button(self,text = 'Clear result',command = self.clear)
self.button2.grid(row = 6,column = 1)
self.text1.focus_set()
def convert(self):
varText = self.text1.get()
varReplaced = varText.upper()
self.text1.delete(0,END)
self.text1.insert(END,varReplaced)
def clear(self):
self.text1.delete(0,END)
self.focus_set()
root = Tk()
root.title('Testing and Entry text')
root.geometry('500x200')
app = Application(root)
app.mainloop()
운영 결과
텍스트 컨트롤을 추가
기본 형식을 만들 수 :
self.text1 = Text(self,options)
우리는 제어 텍스트 컨트롤 크기 (폭 정의 문자 길이, 행 정의 높이의 수) 창에 폭과 높이 두 가지 옵션을 사용했다.
입력 제어와 마찬가지로, 우리는 삭제 텍스트 삭제 () 메소드를 사용하여, 사용 인서트 () 메소드는 텍스트 문자 제어를 얻기 위해 GET () 메소드를 사용하여 컨트롤에 텍스트를 추가 할 수 있지만,이 방법은 인덱스 값이 값이 아닙니다 지정됩니다.
텍스트 값은 실제로 두 개의 부분으로 구성된다 : 'x.y.'
X는 라인 (1부터)의 총수이고, y는 우리가 텍스트 컨트롤의 첫 문자를 참조 할 때, 열 위치 (0부터)은 이용 될 수있다 인덱스 값이 '1.0'.
다음은 텍스트 컨트롤의 기본 사용법은 다음과 같습니다
from tkinter import *
class Application(Frame):
def __init__(self,master):
super(Application,self).__init__(master)
self.grid()
self.create_widgets()
def create_widgets(self):
self.label1 = Label(self,text = 'Enter the text to convert:')
self.label1.grid(row = 0,column = 0,sticky = W)
self.text1 = Text(self,width = 20,height = 10)
self.text1.grid(row = 1,column = 0)
self.text1.focus_set()
self.button1 = Button(self,text = 'Covert',
command = self.convert)
self.button1.grid(row = 2,column = 0)
self.button2 = Button(self,text = 'clear',
command = self.clear)
self.button2.grid(row = 2,column = 1)
def convert(self):
varText = self.text1.get('1.0',END)
varReplaced = varText.upper()
self.text1.delete('1.0',END)
self.text1.insert(END,varReplaced)
def clear(self):
self.text1.delete('1.0',END)
self.text1.focus_set()
root = Tk()
root.title('Text widget test')
app = Application(root)
app.mainloop()
운영 결과
ListBox 컨트롤 사용하여
기본 형식은 생성을 :
self.listbox1 = Listbox(self,selectmode = )
다음 매개 변수는 여러 가지 옵션을 사용할 수 있습니다를 SelectMode :
- SINGLE - 당신은 하나 개의 항목 만 선택할 수 있습니다
- 찾아보기는 - 하나를 선택할 수 있습니다,하지만 당신은 목록에서 항목을 제거 할 수 있습니다
- 다중 - 당신은 클릭하여 여러 항목을 선택할 수 있습니다
- EXTENDED - Shift 키와 Ctrl 키를 사용하여 클릭하면 여러 항목을 선택할 수있는
목록 상자 컨트롤을 사용하는 방법을 보여줍니다 아래를.
from tkinter import *
class Application(Frame):
def __init__(self,master):
super(Application,self).__init__(master)
self.grid()
self.creat_widgets()
def creat_widgets(self):
self.label1 = Label(self,text = 'Select your items')
self.label1.grid(row = 0)
self.listbox1 = Listbox(self,selectmode = EXTENDED)
items = ['item One','item Two','item Three']
for item in items:
self.listbox1.insert(END,item)
self.listbox1.grid(row = 1)
self.button1 = Button(self,text = 'submit',command = 'self.display')
self.button1.grid(row = 2)
def display(self):
items = self.listbox1.curselection()#转化为元组
for item in items:
Stritem = self.listbox1.get(item)
print(Stritem)
print('-------')
root = Tk()
root.title('Listbox widget test')
root.geometry('500x200')
app = Application(root)
app.mainloop()
운영 결과
메뉴 컨트롤을 사용하여
프로그램의 GUI 중요한 부분은 창, 메뉴 바 상단의 메뉴 바에서 드롭 다운 메뉴를 제공하는 것입니다, 프로그램 사용자는 신속하게 선택을 할 수 있습니다.
#把Menu控件链接到Frame对象上
menubar = Menu(self)
filemenu = Menu(menubar)
#使用add_command方法添加一个菜单栏
filemenu.add_command(label = 'Convert',command = self.convert)
filemenu.add_command(label = 'Clear',command = self.clear)
#使用add_cascade()方法添加到最高级的菜单栏
menubar.add_cascade(label = 'File',menu = filemenu)
menubar.add_command(label = 'Quit',command = root.quit)
#将菜单栏链接到根对象Tk上
root.config(menu = rself.menuba)
여기, 우리가 테스트 메뉴 컨트롤에 실제 프로그램을 작성하는 연습 :
from tkinter import *
class Application(Frame):
def __init__(self,master):
super(Application,self).__init__(master)
self.grid()
self.create_widgets()
def create_widgets(self):
menubar = Menu(self)
filemenu = Menu(menubar)
filemenu.add_command(label = 'Calculate',command = 'self.calculate')
filemenu.add_command(label = 'Reset',command = self.clear)
menubar.add_cascade(label = 'File',menu = filemenu)
menubar.add_command(label = 'Quit',command = 'root.quit')
self.label1 = Label(self,text = 'The Bowling Calculator')
self.label1.grid(row = 0,columnspan = 3)
self.label2 = Label(self,text = 'Enter score from game 1')
self.label3 = Label(self,text = 'Enter score from game 2')
self.label4= Label(self,text = 'Enter score from game 3')
self.label5= Label(self,text = 'Average')
self.label2.grid(row = 2,column = 0)
self.label3.grid(row = 3,column = 0)
self.label4.grid(row = 4,column = 0)
self.label5.grid(row = 5,column = 0)
self.score1 = Entry(self)
self.score2 = Entry(self)
self.score3 = Entry(self)
self.average = Entry(self)
self.score1.grid(row = 2,column = 1)
self.score2.grid(row = 3,column = 1)
self.score3.grid(row = 4,column = 1)
self.average.grid(row = 5,column = 1)
self.button1 = Button(self,text = 'Calculate Average',
command = self.calculate)
self.button1.grid(row = 6,column = 1)
self.button2 = Button(self,text = 'Clear result',
command = self.clear)
self.button2.grid(row = 6,column = 2)
self.score1.focus_set()
root.config(menu = menubar)
def calculate(self):
numScore1 = int(self.score1.get())
numScore2 = int(self.score2.get())
numScore3 = int(self.score3.get())
total = numScore1 + numScore2 + numScore3
average = total / 3
strAverage ="{0:.2f}".format(average)
self.average.insert(0,strAverage)
def clear(self):
self.score1.delete(0,END)
self.score2.delete(0,END)
self.score3.delete(0,END)
self.average.delete(0,END)
self.score1.focus_set()
root = Tk()
root.title('Bowling Average Calculate')
root.geometry('500x200')
app = Application(root)
app.mainloop()
운영 결과
전반적으로, GUI 프로그래밍 및 컴퓨터 사용자는 더 많은 대화 형 파이썬 세계가 더 흥미로운 수 있도록합니다.