我是靠谱客的博主 个性泥猴桃,最近开发中收集的这篇文章主要介绍运行python文件弹出对话框的操作是_python使用文件对话框 | 学步园,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

python由于众多的toolkit,一般的开发都有多种选择,最近coding过程中碰到需要使用弹出文件保存对话框,比较了Tkinter和win32ui(wxPython用在这儿我认为有些大材小用了,毕竟我只是获取一个文件名称而已,没有任何其他的消息控制、处理操作),结论是对于简单的弹出对话框应用而言,win32ui比tKinter效果要渲染的好很多。

TKinter代码:

import TKinter

tk = Tkinter.Tk()

tk.withdraw()

dlg = tkFileDialog.asksaveasfilename(title = 'Html save as',

filetypes = [('Html File', '*.htm;*.html')], initialdir = self.cur_path)

file_name = str(dlg)

tk.quit()

win32ui代码:

import win32ui

dlg = win32ui.CreateFileDialog(0, None, None, 0, "Html File(*.html)|*.*||")

dlg.SetOFNInitialDir(self.cur_path)

dlg.DoModal()

file_name = dlg.GetPathName()

不过在使用TKinter和win32ui的过程中都碰到一个同样的问题,python程序在使用弹出文件对话框获取之后,虽然之后的代码可以正常执行,但是python程序却无法结束,ctrl-c也不行,只能强制结束。在我调试过程中,这个问题莫名其妙的出现,又莫名其妙的消失了,我一直想复现也没能实现,不过这应该是个问题。

Modify:2013/01/16

对于上面提到的python程序在使用文件选择对话框之后无法结束的情况,我尝试了下面的方案,证明是有效的,不过我还是有点担心,毕竟强制结束进程乃是无奈之举,会不会引起文件解锁等问题呢。

以下附上代码:

import os

pid = os.getpid()

os.system('taskkill /PID ' + str(pid) + ' /T /F') #此处的/T的作用是结束该进程,及其所有子进程。

最后

以上就是个性泥猴桃为你收集整理的运行python文件弹出对话框的操作是_python使用文件对话框 | 学步园的全部内容,希望文章能够帮你解决运行python文件弹出对话框的操作是_python使用文件对话框 | 学步园所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部