Tkinter를 컨트롤 탐색

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 프로그래밍 및 컴퓨터 사용자는 더 많은 대화 형 파이썬 세계가 더 흥미로운 수 있도록합니다.

출시 세 원저 · 원 찬양 2 · 조회수 167

추천

출처blog.csdn.net/mantouyouyou/article/details/105235285