Appia의 IT세상

파이썬[Python] 027 tkinter 기본강의 007 Scale, scrollbar 본문

Python/Python Tk (GUI)

파이썬[Python] 027 tkinter 기본강의 007 Scale, scrollbar

Appia 2020. 1. 3. 06:04
반응형

이번 포스팅에서는 scale, scrollbar 대해서 포스팅을 해보고자 합니다. 종종 윈도우에서 볼륨을 줄일 때나, 키울 scale 이용하게 됩니다. 또한 scrollbar 화면을 넘어서는 내용을 표시할 관련해서 위치를 조절하기 위해서 사용하는 부분입니다. 오늘은 가지에 대해서 포스팅을 하겠습니다.

 

scale

GUI상에서 특정 포인트를 조절하여 값을 반환 받는 위젯입니다. 부분은 가로일 수도 있고, 세로 일수도 있습니다. 관련해서 생성해보도록 하겠습니다.

 w = Scale ( master, option, ... )

 

다음 예시를 살펴보겠습니다.

from tkinter import *

root = Tk()
var = DoubleVar()
scale = Scale( root, variable = var, orient = HORIZONTAL, from_ = -1, to = 1, resolution = 0.1)
scale.pack(anchor = CENTER)

root.mainloop()

 

위의 코드에서 orient 방향을 나타냅니다. 따라서, 관련된 Parameter 경우는 다음과 같이 2가지를 지원합니다.

HORIZONTAL (x 방향)

VERTICAL (Y방향)

 

그리고 위의 scale 시작과 끝을 표시하기 위해 다음과 같은 옵션을 사용합니다.

from_ (값의 최소 )

to (값의 최대)

resolution (값의 변화 범위)

 

3위의 3가지 옵션이 들어가지 않는다면, 0~100까지 1단위로 변화하는 기본설정입니다. 위의 코드가 실행되면, 다음과 같은 GUI 표시됩니다.

 

scrollbar

 

웹페이지를 보실 때에, 종종 화면에 넘어서는 양의 컨텐츠를 표시될 경우가 있습니다. 이럴 경우에, 우측 화면에 화면을 아래로 방향으로 가게 하거나, 위로 올라가게 있는 scrollbar 대해서 생성하는 방법에 대해서 확인하겠습니다. 기본 scrollbar 생성 방법은 다음과 같습니다.

 

 w = Scrollbar ( master, option, ... )

 

다음 예시 코드를 살펴보겠습니다.

from tkinter import *

root = Tk()
scrollbar = Scrollbar(root)		# 스크롤바 생성
scrollbar.pack( side = RIGHT, fill = Y )

mylist = Listbox(root, yscrollcommand = scrollbar.set ) # 리스트바 생성, 스크롤바연결
for line in range(50):
   mylist.insert(END, str(line))

mylist.pack( side = LEFT )
scrollbar.config( command = mylist.yview ) #윈도우에 스크롤바 연결

mainloop()

 

다음은  listbox를 생성하였는데 표현하는 개수가 너무 많아, 먼저 스크롤 바를 생성하고 리스트 박스에 붙이는 방식으로 생성하였습니다. 다음 부분을 실행하면 다음과 같으 화면이 나옵니다.

 

오늘은 scale scrollbar 대해서 살펴보았습니다. 실제 얼마나 많이 활용하는 냐는 생각보다 많이 차이가 있습니다. (저의 경우 활용도가 그닥 없습니다. ) 하지만, 아시다시피 필요할 관련된 부분에 대해서 경험이 있어야지만, 찾기도 쉽습니다. 궁금하거나, 문의하실 부분이 있으시면 언제든지 댓글 방명록에 남겨주세요.

반응형
Comments