반응형
Tkinter Entry ( 입력 폼을 가로 3개 세로 10개 입력)
bg = []
cnt = 0
for i in range(10):
for j in range(3):
bg.append( tk.Entry(frame.scrollable_frame, text="", width=17))
bg[cnt].grid(row = i, column = j)
cnt += 1
Scrollbar 및 결과를 확인 하기 위한 Button 추가
ScrollableFrame : 프레임에 스크롤이 달린 객체 ( 스크롤에 따라 프레임 위치 결정)
Button 추가 : checkEmpty() 기능 추가
checkEmpty() : 모든 Entry 값 확인하여 빈칸 갯수 Count
import tkinter as tk
from tkinter import ttk
class ScrollableFrame(ttk.Frame):
def __init__(self, container, *args, **kwargs):
super().__init__(container, *args, **kwargs)
canvas = tk.Canvas(self)
scrollbar = ttk.Scrollbar(self, orient="vertical", command=canvas.yview)
self.scrollable_frame = ttk.Frame(canvas)
self.scrollable_frame.bind(
"<Configure>",
lambda e: canvas.configure(
scrollregion=canvas.bbox("all")
)
)
canvas.create_window((0, 0), window=self.scrollable_frame, anchor="n")
canvas.configure(yscrollcommand=scrollbar.set)
canvas.pack(side="left", fill="x", expand=True)
scrollbar.pack(side="right", fill="y")
def checkEmpty():
global cnt
eCnt = 0
for i in range(cnt):
if bg[i].get() == '':
eCnt +=1
l.config(text=str(eCnt))
root = tk.Tk()
frame = ScrollableFrame(root)
bg = []
cnt = 0
for i in range(10):
for j in range(3):
bg.append( tk.Entry(frame.scrollable_frame, text="", width=17))
bg[cnt].grid(row = i, column = j)
cnt += 1
frame.pack()
b = tk.Button(root, text = "Empty Check", command = checkEmpty)
b.pack()
l = tk.Label(root)
l.pack()
root.mainloop()
반응형
'프로그래밍 > PYTHON' 카테고리의 다른 글
[PYTHON]파이썬_URL 연결(버튼 클릭 시 원하는 URL연결) (0) | 2022.01.24 |
---|---|
파이썬 속성 강의 – 1. 파이썬 설치 및 파이참 설치 (0) | 2021.02.06 |
[python]파이썬_Tkinter_리스트박스 옆 스크롤바(Listbox,Scrollbar) (0) | 2020.07.31 |
[Python]파이썬_Tkinter_동영상재생(OpenCV, Tkinter, 웹캠) (0) | 2020.07.29 |
[Python]파이썬_Matplotlib_Tkinter 연결 (0) | 2020.07.23 |