Python GUI 프로그래밍(Tkinter)


Python은 여러 그래픽 개발 인터페이스 라이브러리를 제공합니다. 일반적으로 사용되는 여러 Python GUI 라이브러리는 다음과 같습니다.

  • Tkinter: Tkinter 모듈("Tk " 인터페이스")는 Python의 표준 Tk GUI 툴킷의 인터페이스입니다. Tk 및 Tkinter는 대부분의 Unix 플랫폼에서 사용할 수 있으며 Windows 및 Macintosh 시스템에도 적용할 수 있습니다. Tk8.0의 후속 버전은 로컬 창 스타일을 구현할 수 있으며 잘 실행됩니다. 대부분의 플랫폼에서.

  • wxPython: wxPython은 Python 언어를 위한 오픈 소스 소프트웨어이자 뛰어난 GUI 그래픽 라이브러리로, Python 프로그래머가 모든 기능을 갖춘 완전한 GUI 사용자 인터페이스를 쉽게 만들 수 있습니다. 기능 키.

  • Jython: Jython 프로그램은 Java와 완벽하게 통합될 수 있습니다. 일부 표준 모듈 외에도 Jython은 Java 모듈을 사용합니다. Jython에는 C 언어에 의존하지 않는 표준 Python의 거의 모든 모듈이 있습니다. 예를 들어, Jython의 사용자 인터페이스는 Swing, AWT 또는 SWT를 사용합니다. Jython은 동적으로 또는 정적으로 Java 바이트코드로 컴파일될 수 있습니다.


Tkinter 프로그래밍

Tkinter는 Python용 표준 GUI 라이브러리입니다. Python은 Tkinter를 사용하여 GUI 응용 프로그램을 빠르게 만듭니다.

Tkinter는 Python 설치 패키지에 내장되어 있으므로 Python이 설치되어 있는 한 Tkinter 라이브러리를 가져올 수 있고 IDLE도 Tkinter로 작성되므로 Tkinter는 여전히 간단한 그래픽 인터페이스를 쉽게 처리할 수 있습니다.

GUI 프로그램 만들기

  • 1. Tkinter 모듈 가져오기

  • 2. >

  • 3. 이 컨트롤의 마스터, 즉 이 컨트롤이 속한 컨트롤을 지정합니다.
  • 4. GM(기하학 관리자)에게 컨트롤이 지정되었음을 알립니다. 생성되었습니다.
  • 예:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import Tkinter
top = Tkinter.Tk()
# 进入消息循环
top.mainloop()

위 코드의 실행 결과는 다음과 같습니다.

1033.jpg예 2:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from Tkinter import *           # 导入 Tkinter 库
root = Tk()                     # 创建窗口对象的背景色
                                # 创建两个列表
li     = ['C','python','php','html','SQL','java']
movie  = ['CSS','jQuery','Bootstrap']
listb  = Listbox(root)          #  创建两个列表组件
listb2 = Listbox(root)
for item in li:                 # 第一个小部件插入数据
    listb.insert(0,item)

for item in movie:              # 第二个小部件插入数据
    listb2.insert(0,item)

listb.pack()                    # 将小部件放置到主窗口中
listb2.pack()
root.mainloop()                 # 进入消息循环

위 코드 실행 결과는 아래와 같습니다.

1034.jpgTkinter 컴포넌트

Tkinter는 버튼, 라벨, 텍스트 상자 등 다양한 컨트롤을 제공합니다. , GUI 응용 프로그램 사용에서. 이러한 컨트롤을 컨트롤 또는 위젯이라고도 합니다.

현재 15개의 Tkinter 위젯이 있습니다. 아래 표에 간략한 소개와 함께 이러한 구성요소를 제시합니다.

控件描述
Button按钮控件;在程序中显示按钮。
Canvas画布控件;显示图形元素如线条或文本
Checkbutton多选框控件;用于在程序中提供多项选择框
Entry输入控件;用于显示简单的文本内容
Frame框架控件;在屏幕上显示一个矩形区域,多用来作为容器
Label标签控件;可以显示文本和位图
Listbox列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Menubutton菜单按钮控件,由于显示菜单项。
Menu菜单控件;显示菜单栏,下拉菜单和弹出菜单
Message消息控件;用来显示多行文本,与label比较类似
Radiobutton单选按钮控件;显示一个单选的按钮状态
Scale范围控件;显示一个数值刻度,为输出限定范围的数字区间
Scrollbar滚动条控件,当内容超过可视化区域时使用,如列表框。.
Text文本控件;用于显示多行文本
Toplevel容器控件;用来提供一个单独的对话框,和Frame比较类似
Spinbox输入控件;与Entry类似,但是可以指定输入范围值
PanedWindowPanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
LabelFramelabelframe 是一个简单的容器控件。常用与复杂的窗口布局。
tkMessageBox用于显示你应用程序的消息框。

표준 속성

표준 속성은 크기, 글꼴, 색상 등과 같은 모든 컨트롤의 공통 속성입니다.

属性描述
Dimension控件大小;
Color控件颜色;
Font控件字体;
Anchor锚点;
Relief控件样式;
Bitmap位图;
Cursor光标;

기하학 관리

Tkinter 제어에는 전체 제어 영역 조직을 관리하기 위한 특정 기하 상태 관리 방법이 있습니다. 다음은 Tkinter에서 제공하는 기하 관리 클래스입니다. 그리드, 위치

几何方法描述
pack()包装;
grid()网格;
place()位置;