1.python提供了多个图形开发界面库
tkinter(import tkinter) : Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口
wxPython(import wx) : wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库
Jytyhon(import sys sys.path.append(a.jar)) : Jython 程序可以和 Java 无缝集成。除了一些标准模块,Jython 使用 Java 的模块。Jython 几乎拥有标准的Python 中不依赖于 C 语言的全部模块。比如,Jython 的用户界面将使用Swing,AWT或者 SWT。Jython 可以被动态或静态地编译成 Java 字节码。
2.tkinter编程
创建GUI程序流程:
①导入tkinter模块
②创建控件
③指定控件的组件,并放置到主窗口中
④告诉界面管理器(geometry manager)有控件产生
# # coding: utf-8
# # author: admain_maxin
#
# import tkinter
#
# # __init__.py --> class Tk(Misc, Wm): def __init__(self, screenName=None,
# # baseName=None, className='Tk', useTk=1,
# # sync=0, use=None):
# # 创建控件:应用程序主窗口
# frame = tkinter.Tk()
#
# # 进入消息循环队列
# # def mainloop(self, n=0):
# # 调用窗口(Tk)的主循环
# frame.mainloop()
from tkinter import *
frame1 = Tk()
# 创建两个列表
li = ["c", "python", "php", "html", "SQL", "java"]
moive = ["css", "jQuery", "bootstrap"]
# class Listbox(Widget, XView, YView):
# def __init__(self, master=None, cnf={}, **kw):
# 可以显示字符串列表的Listbox小部件。
# 有效的资源名称:background,bd,bg,borderwidth,cursor,
# exportselection,fg,font,foreground,height,highlightbackground,
# highlightcolor,highlightthickness,relief,selectbackground,
# selectborderwidth,selectforeground,selectmode,setgrid,takefocus,
# width,xscrollcommand,yscrollcommand,listvariable。
listb = Listbox(frame1, font=("楷体", 15), highlightbackground="red")
listb2 = Listbox(frame1, font=("微软雅黑", 20), highlightbackground="black")
# 列表小部件插入数据
for item in li:
listb.insert(0, item)
for item2 in moive:
listb2.insert(0, item2)
listb.pack()
listb2.pack()
frame1.mainloop()
tkinter组件:
控件 描述
Button 按钮控件;在程序中显示按钮。bm=Button()
Canvas 画布控件;显示图形元素如线条或文本
Checkbutton 多选框控件;用于在程序中提供多项选择框
Entry 输入控件;用于显示简单的文本内容
Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器
Label 标签控件;可以显示文本和位图
Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Menubutton 菜单按钮控件,由于显示菜单项。
Menu 菜单控件;显示菜单栏,下拉菜单和弹出菜单
Message 消息控件;用来显示多行文本,与label比较类似
Radiobutton 单选按钮控件;显示一个单选的按钮状态
Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间
Scrollbar 滚动条控件,当内容超过可视化区域时使用,如列表框。.
Text 文本控件;用于显示多行文本
Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似
Spinbox 输入控件;与Entry类似,但是可以指定输入范围值
PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。
tkMessageBox 用于显示你应用程序的消息框。
Button控件使用:
# coding: utf-8
# author: admain_maxin
from tkinter import *
root = Tk()
# def wm_title(self, string=None):...
# title = wm_title
root.title("button组件")
# def wm_geometry(self, newGeometry=None):...
# geometry = wm_geometry
root.geometry("300x150+400+200")
# class Button(Widget):... def __init__(self, master=None, cnf={}, **kw):
# STANDARD OPTIONS
#
# activebackground, activeforeground, anchor,
# background, bitmap, borderwidth, cursor,
# disabledforeground, font, foreground
# highlightbackground, highlightcolor,
# highlightthickness, image, justify,
# padx, pady, relief, repeatdelay,
# repeatinterval, takefocus, text,
# textvariable, underline, wraplength
#
# WIDGET-SPECIFIC OPTIONS
#
# command, compound, default, height(非像素高度),
# overrelief, state, width(非像素高度)
bm1 = Button(text="button控件", borderwidth="2", font=("微软雅黑", 15), background="white")
# bm1.pack()
# def grid_configure(self, cnf={}, **kw):
# bm1.grid()
# def place_configure(self, cnf={}, **kw):
# x,y : 小部件在主控中的位置
# width,height : 小部件的像素宽和像素高
bm1.place(x=10, y=10, width=150, height=100)
root.mainloop()
控件标准属性:
属性 描述
Dimension 控件大小;
Color 控件颜色;
Font 控件字体;
Anchor 锚点;
Relief 控件样式;
Bitmap 位图;
Cursor 光标;
控件区域几何管理:(Tk().geometry() 或者是Tk().frame())
几何方法 描述
pack() 包装;在父窗口小部件中打包一个小部件
grid() 网格;当root中有控件采用包管理,则该方法需要借助几何框架frame
place() 位置;描述控件在窗口中的位置
---------------------
作者:admin_maxin
来源:CSDN
原文:https://blog.csdn.net/admin_maxin/article/details/80259957
版权声明:本文为博主原创文章,转载请附上博文链接!