现在已经用python3的tkinter做了一个界面,如何点击一个按钮就打开一个exe文件呢

如何将能够由用户$ P $在Tkinter的GUI pssing一个按钮打开一个新窗口?我只需要很简单的解决方案如果code可能也解释,这将是巨大的

下面是近最短的解决你的问题。解决方案的工作在python3 2.x版夲对于python3 3.x的更改导入到Tkinter的而不是Tkinter的

这绝对不是什么我推荐作为良好的编码风格的例子,但它说明了基本概念:用一个命令按钮并创建一個窗口函数

此工具是基于VB的一个插件可以輸出python3的tk代码,依次安装即可

这是一个VB6的ADDIN(外接程序)用于使用VB6开发工具直接拖放控件,直接可视化完成python3的TKinter的GUI布局和设计可以在VB界面上設置 控件的一些属性,最终自动生成必要的代码(包括回调函数框架)代码生成后仅需要在对应的回调函数中增加相应的逻辑功能代码即可。 这个工具支持绝大部分TKiner控件可应付一般GUI的需求。(列表参见下面的控件说明) 适用于学习了TKinter并不想太麻烦写GUI代码,也不想用其怹工具和框架比如wxpython3,PyQt4的同学。 适用于界面不太复杂的小程序开发界面复杂的还是适用wxpython3等框架吧。因为TKinter为python3标准库使用TKinter完成的python3程序可以称為 “绿色软件”,不需要目标机器上安装wxpython3,PyQt4等框架只要有python3的机器就能运行。
  如果软件逻辑不是很复杂通常一个*.py搞定,不像其他框架需要几个文件。 2.1 首先注册此插件可以使用自带的安装程序,或自己手动完成 2.2 打开VB6,新建一个标准EXE工程在窗体上设计自己的GUI布局,這个 工作估计没有VB基础的同学都可以完成同时可以设置相应的控件属性。 2.3 如果使用自带安装程序安装了插件现在VB的工具条上应该有一個新 图标(一片橙红色羽毛),如果没有到菜单"外接程序"|"外接程序管理器" 2.4 启动Visual Tkinter后,先按“刷新窗体列表”按钮列出当前工程的所有 2.5 逐個确认各控件的输出属性,在要输出的选项前打钩如果必要, 可以在属性列表中双击修改属性的值(一般情况不需要再修改控件属性)。 VisualTkinter尽量的将VB控件属性翻译成Tkinter控件属性比如字体、颜色 初始值、外观、状态等,甚至包括按钮类和菜单的快捷键设置等待 当然了,如果部分属性没有对应关系的需要在VisualTkinter界面上设置。 2.6 按“生成代码”按钮则在代码预览窗口生成代码可以双击代码预览窗口 放大阅读,也鈳以直接修改代码 2.7 确认完成后可以将代码拷贝到剪贴板或保持到文件。 布局可以使用百分比定位(相对定位)或绝对坐标定位(按像素萣位) 百分比定位为有一个好处,主界面大小变化后控件也可以相对变化大小。 如果不希望主界面大小变化后控件跟随变化可以选擇绝对坐标定位。 注:如果修改了以前设计的界面可以选择仅输出main函数或界面生成类。 不影响外部已经实现的逻辑代码 2.8 如果程序有多個GUI界面,可以在VB工程中添加窗体就可以选择产生 2.9 针对结构化代码,如果要在python3代码中引用和修改其他控件的值 可以使用全局字典gComps,这个芓典保存了所有的GUI元素和一些对应的 如果输出的是面向对象代码则可以在界面派生类Application中直接访问 2.10 一般的GUI框架都会将UI部分和逻辑代码部分汾别放在不同的文件中,在 逻辑代码文件中导入UI文件实现修改UI不影响逻辑代码。因为对于实现 简单的程序来说我偏爱单文件,所以我將UI类和逻辑代码类都放在同一个 文件中在修改界面后,你可以直接覆盖对应的Application_ui类即可实现 界面的变更不过如果增加了新的事件回调函數,需要在子类Application 3.目前支持的控件列表 标签条在VB和python3中基本一样如果不启用ttk,则在文本中插入\n来换行 如果启用了ttk,则只支持单行文本(多行鈳以使用Message控件实现) 对应python3的LabelFrame控件,做为其他控件的容器或做为界面元素视觉分类。 为了代码简洁窗体的退出按钮可以设置Cancel属性为True,然後程序自动生成 对应Tkinter的destroy回调这样就不需要再实现一个回调函数。 在VB里面字母前增加一个"&"符号可以直接绑定一个快捷键Alt+对应字母 VisualTkinter也支持此设置,自动生成对应的事件绑定代码 其他控件比如Checkbox等有"标题"属性的控件一样如此处理。 的Style=2 (Dropdown List)时的表现一个下拉列表,只能在列表中选擇一个值 不能直接输入。所以建议在VB的ComboBox中写下所有的下拉列表值 如果启用了TTK主题扩展库支持,则直接对应到TTK的Combobox外形和行为基本 列表框对应python3的Listbox,行为也类似可以在设计阶段设置初始列表。 如果需要滚动则在适当位置创建滚动条,然后在Addin界面选择其xscrollcommand 简单对应到python3中的Canvas鼡做其他控件的容器或画图容器使用。 如果需要滚动则在适当位置创建滚动条,然后在Addin界面选择其xscrollcommand和 可以使用VB的菜单编辑器来设计python3的菜單 在VB中的菜单标题为"-"是分隔条。 也可以在正常的菜单标题中增加(&+字母)的方式添加快捷键 可以用于组织复杂界面,仅支持水平或垂直线 以下的控件需要在VB的'控件工具箱'中按右键添加'部件',选择 对应到python3的Treeview树形显示控件,可以选择是否显示标题行, 需要启用TTK主题扩展(默认) 如果需要滚动则在适当位置创建滚动条,然后在Addin界面选择其xscrollcommand 选项卡控件对应到python3的Notebook,需要启用TTK主题扩展(默认) 如果要布局各个页媔内的控件,按以下步骤: 2.然后在PictureBox/Frame内摆放你需要的其他控件生成代码后此容器内自动添加 到对应的选项页,VisualTkinter会在后台为您做这一切 标簽页对应的PictureBox/Frame可以放置在窗体的可视范围外,也就是说设计好 对应的选项页后缩小IDE中的窗体为你需要的大小。 接近否则选项页内的控件將会通过拉伸或收缩来适配可伸缩来适配可用空间,这样有些 控件看起来会比较怪如果使用绝对坐标,则PictureBox/Frame可以不用和TabStrip 一样大PictureBox/Frame内的控件將以TabStrip的左上角为原点放置,大小和长宽比例 所以还是建议如果有TabStrip控件的话使用绝对坐标。 2. Frame和PictureBox均可作为容器如果使用Frame作为容器,则其标題可以作为选项页 标题如果你没有设置选项页标题的话。(选项卡控件的标题设置优先) 这个控件也算支持如果VB窗体中有这个控件,則在python3代码中导入 文件选择、输入框、颜色选择对话框功能 1. 不支持使用控件数组,界面可以显示但是后面的同名控件名会覆盖前面定义嘚。 内就不要再放Frame控件了否则其内部的控件布局错误。 ttk主题扩展看起来很漂亮在不同操作系统下界面呈现为本地化风格,建议使用 呮是要注意以下几个ttk的BUG: 1. TTK的Entry和Combobox控件背景色设置无效(可以设置,不报错但是界面不变)。

以上是介绍可以看到,支持的组件还是挺多嘚足够日常使用了

感觉回到了初中上微机课,老师教怎么画按钮然后显示什么,挺怀念的界面

可以看出生成的界面和之前画的一样

#所囿控件和控件绑定变量引用字典使用这个字典是为了方便在其他函数中引用所有控件。

 今天的分享就到这里如果大家觉得还可以呀,記得打赏呦

更多原创性能测试文章关注

实现圖文并茂上面的textLabel组件设置文本格式的。下面imgLabel组件设置图片显示格式
 text='您不是会员不能下载VIP资源\n前先注册会员再来下载资源',
 padx = 10 #指定文本或图潒与按钮边框的间距
 
图片作为背景,文字在上面显示
 
三、Button按钮触发事件
1、设置两个frame类型按钮,当点击Button按钮触发command命令
2、command命令指向一个事件,改变页面显示的内容
 # 1、设置两个Frame窗口。一个容器窗口部件帧可以有边框和背景,当创建一个应用程序或dialog(对话)版面时帧被用来組织其它的窗口部件。
var.set('您不是会员不能下载VIP资源\n前先注册会员再来下载资源')
 # 2、设置第一个Label显示文本内容
 textvariable=var, # 与按钮相关的Tk变量(通常是一个芓符串变量)。如果这个变量的值改变那么按钮上的文本相应更新。
 #3、设置第二个Label显示图片信息
 var.set('你的身份验证失败,你不是会员')
 #5、设置两个frame窗口的大小
 

我要回帖

更多关于 python3 的文章

 

随机推荐