Programmation graphique Python (Tkinter)


Python fournit plusieurs bibliothèques d'interfaces graphiques de développement. Plusieurs bibliothèques d'interface graphique Python couramment utilisées sont les suivantes :

  • Tkinter : Module Tkinter ("Tk » Interface") est l'interface de la boîte à outils Tk GUI standard de Python. Tk et Tkinter peuvent être utilisés sur la plupart des plates-formes Unix et peuvent également être appliqués aux systèmes Windows et Macintosh. Les versions ultérieures de Tk8.0 peuvent implémenter le style de fenêtre local et fonctionnent bien. sur la plupart des plateformes.

  • wxPython : wxPython est un logiciel open source et une excellente bibliothèque graphique GUI pour le langage Python, permettant aux programmeurs Python de créer facilement une interface utilisateur GUI complète avec touches de fonction.

  • Jython : Les programmes Jython peuvent être intégrés de manière transparente à Java. En plus de certains modules standards, Jython utilise des modules Java. Jython possède presque tous les modules en Python standard qui ne dépendent pas du langage C. Par exemple, l'interface utilisateur de Jython utilisera Swing, AWT ou SWT. Jython peut être compilé dynamiquement ou statiquement en bytecode Java.


Programmation Tkinter

Tkinter est la bibliothèque GUI standard pour Python. Python utilise Tkinter pour créer rapidement des applications GUI.

Étant donné que Tkinter est intégré au package d'installation de Python, vous pouvez importer la bibliothèque Tkinter tant que Python est installé, et IDLE est également écrit en Tkinter, donc Tkinter peut toujours gérer facilement l'interface graphique simple.

Créer un programme GUI

  • 1. Importer le module Tkinter

  • 2. Créer un contrôle

  • 3. Précisez le maître de ce contrôle, c'est-à-dire à quel contrôle appartient ce contrôle

  • 4. Dites au GM (gestionnaire de géométrie) qu'un contrôle a été. généré.

Exemple :

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

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

Le résultat de l'exécution du code ci-dessus est le suivant :

1033.jpg

Exemple 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()                 # 进入消息循环

Le résultat de l'exécution du code ci-dessus est le suivant :

1034.jpg

Composant Tkinter

Tkinter fournit divers contrôles, tels que des boutons, des étiquettes et des zones de texte. , dans une utilisation d'application GUI. Ces contrôles sont souvent appelés contrôles ou widgets.

Il existe actuellement 15 widgets Tkinter. Nous présentons ces composants accompagnés d'une brève introduction dans le tableau ci-dessous :

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

Propriétés standard

Les propriétés standard sont les propriétés communes de tous les contrôles, telles que la taille, la police, la couleur, etc.

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

Gestion de la géométrie

Le contrôle Tkinter dispose d'une méthode de gestion de l'état de la géométrie spécifique pour gérer l'ensemble de l'organisation de la zone de contrôle. Voici les classes de gestion de la géométrie exposées par Tkinter : package, grille, Localisation

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