컴퓨터잡담

파이썬 멀티라벨 소스 줄이기

by nanumi posted Jun 23, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬 멀티라벨 소스 줄이기

 

용자 지정 위젯을 정의하여 4 개의 개체 (레이블 3 개 및 버튼 1 개)를 a 안에 감싼 frame다음 배열을 기반으로 사용자 지정 위젯을 만들 수 있습니다. 다음은 샘플 코드입니다.

from tkinter import *

root = Tk()

class MyLabel(Frame):
  def __init__(self, master, name, percentage, domain):
    Frame.__init__(self, master, bd=2, relief='raised')
    Label(self, text='%3d%%'%percentage, font=('Arial', 24), fg='#88F', width=4, anchor='e').grid(row=0, column=0, rowspan=2)
    Label(self, text=name, font=('Aria', 16, 'bold'), fg='black', width=15, anchor='w').grid(row=0, column=1)
    Label(self, text=', '.join(domain), font=('Aria', 10), fg='black').grid(row=1, column=1, sticky='w')
    Button(self, text='View', fg='white', bg='#44F').grid(row=0, column=2, rowspan=2, padx=10)
    self.columnconfigure(1, weight=1)

name = ['vj', 'aj', 'bon', 'hi']
percentage = [96, 85, 90, 65]
domain = [['html','css','js'], ['java','kotlin','python'], ['html','python'], ['java','html','css','js']]

for i, n in enumerate(name):
  MyLabel(root, n, percentage[i], domain[i]).pack(expand=True, fill='x')

root.mainloop()

및 출력 :

여기에 이미지 설명 입력