看上去还是可以的(一行字 + 一个写着Exit的Button控件),自带的例子简单的实现了一个窗口
差不多就有一些像样的窗口了 不得不说tkinter模块写出来的窗口贼丑,而且很多功能找也找不到。
希望有看到的童鞋帮我解决一下:
如何用tkinter绘制不规则窗口?
反正我是找了很多博文都没有类似让我满意的解答,交给你们了亲!
wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python程序员很方便的创建完整的、功能键全的 GUI 用户界面。
Jython是一种完整的语言,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。
在jython开发环境中,可以直接调用java.jar 包,就相当于用python开发过程中调用java的jar包。在java开发环境中,导入jython包(jar),可以在程序中执行原生的python脚本。
去官网上下载最新版本的jar包;
在该jar包所在目录按住shift键右键打开cmd窗口;
Tkinter是Python自带的库,使用Tkinter模块,无需安装任何包,就可以直接使用。
我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口;Tk会调用操作系统提供的本地GUI接口,完成最终的GUI。
Tk是一个图形库,支持多个操作系统,使用Tcl语言开发。
我们要先导入Tkinter包,然后从Frame派生一个Application类,这是所有Wideget的父容器。pack()
方法把Widget加入到父容器中,并实现布局。pack()
是最简单的布局,grid()
可以实现更复杂的布局。
然后我们实例化Application
,并启动消息循环。
GUI程序的主线程负责监听来自操作系统的消息,并依次处理每一条消息。如果消息处理非常耗时,就需要在新线程中处理。
点击“这是个退出按钮”可结束程序。
Entry 输入控件,提供一个输入框,用于显示输入的内容,并且可以对输入的内容进行转换(如转换成类似密码输入的**)。
Text 是文本控件,用于显示多行文本。
# 设置窗口上面的名字 # 设置一个输入框,并设置输入内容被隐藏为*号,也可以设成其他符号 # insert第一个参数可以设为'insert',即光标所在外置,或'end',即当前输入内容之后,或2.1即第2行第1列 # 不断刷新窗口对象,这样才能运行
Listbox是一个列表框控件,在Listbox窗口显示一个字符串列表给用户。
下面是一个使用了Listbox的例子:
# 设置窗口上面的名字 # 设置一个标签,这个标签的内容为我们选择的列表中的某项 # value得到我们选择的列表某项的值 # 把value值赋给var1,这样就在l标签上显示出来了 # 注意这个函数动作是要在Button上点击后触发 # 创建一个列表,列表初始值为var2中的值,并加入window对象中 # 不断刷新窗口对象,这样才能运行
用于显示一个单选的按钮状态。
# 设置窗口上面的名字 # 设置一个标签,这个标签的内容为我们选择的列表中的某项 # 不断刷新窗口对象,这样才能运行
显示一个数值刻度,为输出限定范围的数字区间。
# 设置窗口上面的名字 # 设置一个标签,这个标签的内容为我们选择的列表中的某项 # 定义一个Scale,from_和to表示从左边最小值拉到右边最大值的范围,orient表示拉条是横向还是纵向 # length表示拉条的长度,注意这里的200指像素,和Label中的width(参数指行数和列数)不同 # 不断刷新窗口对象,这样才能运行
用于在程序中提供多项选择框。
# 设置窗口上面的名字 # 设置一个标签,这个标签的内容为我们选择的列表中的某项 # 根据我们的勾选情况,标签上会显示不同的内容 # 不断刷新窗口对象,这样才能运行
显示图形元素如线条或文本。
# tkinter本身只能加载gif,想加载jpg或png要用PIL模块,即写上面这句 # 设置窗口上面的名字 # 画一个扇形,start和extent表示扇形从多少角度开始,然后逆时针画180度结束 #每次移动正方形,向下两个单位 # 不断刷新窗口对象,这样才能运行
image中的anchor参数是一个基点,即nw,ne等等,以这个基点开始设定偏移量。下面是9种基点的名称。
显示菜单栏,下拉菜单和弹出菜单。
# 设置窗口上面的名字 # 我们设置一个简单的交互,每次点某项计数就加1 # 主菜单下面创建一个file菜单,tearoff表示能否分开 # 再设置一个分开的横线,下面再加一个exit项 # 再创建一个edit菜单,tearoff表示能否分开 # 不断刷新窗口对象,这样才能运行
在屏幕上显示一个矩形区域,用来作为容器,我们可以以Frame为一个基本单位,将要放在这个区域的标签按钮等都放在这个容器中。
下面的例子里用了两层frame,主frame框架里又放了两个frame框架。
# 设置窗口上面的名字 # 不断刷新窗口对象,这样才能运行
用于显示你应用程序弹出的消息框。
# 设置窗口上面的名字 # 带返回选择yes或no功能的询问消息框(点击会返回yes或no值) # 不断刷新窗口对象,这样才能运行
首先看怎么产生第一个窗口
介绍以下几个控件的用法
说明每个控件最后要加上pack().否则控件是无法显示的.
以下介绍的控件差不多都有这几个属性, 更详细的属性查看参考网页
在屏幕上创建一块矩形区域,多作为容器来布局窗体
向该空间内输入文本
其中,mark可以是行号,或者特殊标识,例如
列表控件,可以含有一个或多个文本想,可单选也可多选
在屏幕上创建一块矩形区域,多作为容器来布局窗体
Frame(根对象, [属性列表]), 最长用的用法是和别的控件一起使用.