在好例子网,分享、交流、成长!
您当前所在位置:首页Python 开发实例Python语言基础 → python 入门示例源码

python 入门示例源码

Python语言基础

下载此实例
  • 开发语言:Python
  • 实例大小:0.01M
  • 下载次数:47
  • 浏览次数:1212
  • 发布时间:2014-10-21
  • 实例类别:Python语言基础
  • 发 布 人:brekill
  • 文件格式:.py
  • 所需积分:2
 相关标签: python

实例介绍

【实例简介】python 入门例子
【实例截图】

【核心代码】

# -*- coding: UTF-8 -*-
#python tkinter menu
#python version 3.3.2
#EN = Window 7


from tkinter import *
from tkinter.messagebox import *
from tkinter.filedialog import *
from tkinter.colorchooser import *
'''
    在python 3.3.2中,tkinter模块可以创建一个窗口控件,如Java中的Swing
    功能描述:
        根据Python 3.3.2 IDEL的菜单,创建出一个tkinter窗口
        File-Exit    :  退出功能完成
        Help-About IDEL     : 打印相应信息
        其他的菜单项,当点击时,会打印出相应菜单项的名称
'''

__author__ = 'Hongten'
MENU_ITEMS = ['File', 'Edit', 'Format', 'Run', 'Options', 'Windows', 'Help', 'Test']
#菜单File中的选项
MENU_FILE_ITEMS = ['New Window      Ctrl N      ',
                   'Open...         Ctrl O      ',
                   'Recent Files                ',
                   'Open Module...  Alt M       ',
                   'Class Browser   Alt C       ',
                   'Path Browser                ',
                   'Save            Ctrl S      ',
                   'Save As...      Ctrl Shift S',
                   'Save Copy As... Ctrl Alt S  ',
                   'Print Window    Ctrl P      ',
                   'Close           Alt F4      ',
                   'Exit            Ctrl Q      ']
#菜单Edit中的选项
MENU_EDIT_ITEMS = ['Undo                     Ctrl Z        ',
                   'Redo                     Ctrl Shift Z  ',
                   'Cut                      Ctrl X        ',
                   'Copy                     Ctrl C        ',
                   'Paste                    Ctrl V        ',
                   'Select All               Ctrl A        ',
                   'Find...                  Ctrl F        ',
                   'Find Again               Ctrl G        ',
                   'Find Selections          Ctrl F3       ',
                   'Find in Files            Alt F3        ',
                   'Replace...               Ctrl H        ',
                   'Go to Line               Alt G         ',
                   'Expend Word              Alt /         ',
                   'Show call tip            Ctrl backslash',
                   'Show surerounding parens Ctrl 0        ',
                   'Show Completions         Ctrl space    ']
#菜单Format中的选项
MENU_FORMAT_ITEMS = ['Check Module        Alt X   ',
                   'Ident Region        Ctrl ]  ',
                   'Dedent Region       Ctrl [  ',
                   'Commemt Out Region  Alt 3   ',
                   'Uncomment Region    Alt 4   ',
                   'Tabify Region       Alt 5   ',
                   'Untabify Region     Alt 6   ',
                   'Toggle Tabs         Alt T   ',
                   'New Ident Width     Alt U   ',
                   'Format Paragraph    Alt Q   ',
                   'Strip trailing whitespace   ']
#菜单Run中的选项
MENU_RUN_ITEMS = [ 'Python Shell                ',
                   'Check Module    Alt X       ',
                   'Run Module      F5          ']
#菜单Options中的选项
MENU_OPTIONS_ITEMS = ['Config IDEL...              ',
                   'Code Context                ']
#菜单Windows中的选项
MENU_WINDOWS_ITEMS = ['Zoom Height     Alt 2       ']
#菜单Help中的选项
MENU_HELP_ITEMS = ['About IDEL                  ',
                   'IDEL Help                   ',
                   'Python Docs     F1          ']
#菜单Test中的选项
MENU_TEST_ITEMS = ['about                       ',
                   'askokcancel messagebox      ',
                   'askquestion messagebox      ',
                   'askretrycancel messagebox   ',
                   'askyesno messagebox         ',
                   'showerror messagebox        ',
                   'showinfo messagebox         ',
                   'showwarning messagebox      ',
                   'open file                   ',
                   'save as file                ',
                   'colorchooser                ']

#help-About IDEL
ABOUT_MESSAGE = '''
    Author       : Hongten
    Author_email : hongtenzone@foxmail.com
    Blog         : http://www.cnblogs.com/hongten
    QQ           : 648719819
    Created      : 2013-09-05
    Version      : 1.0
    '''
def get_tk():
    '''获取一个Tk对象'''
    return Tk()

def set_tk_title(tk, title):
    '''给窗口定义title'''
    if title is not None and title != '':
        tk.title(title)
    else:
        tk.title('Hongten v1.0')

def set_tk_geometry(tk, size):
    '''设置窗口大小,size的格式为:widthxheight,如:size = '200x100'.'''
    if size is not None and size != '':
        tk.geometry(size)
    else:
        tk.geometry('670x600')

def get_menu(tk):
    '''获取一个菜单条'''
    return Menu(tk)

def menu_file(menubar):
    '''定义菜单File'''
    filemenu = Menu(menubar, tearoff=1)
	filemenu.add_command(label=MENU_FILE_ITEMS[0], command=lambda:print(MENU_FILE_ITEMS[0]))
	filemenu.add_command(label=MENU_FILE_ITEMS[1], command=lambda:print(MENU_FILE_ITEMS[1]))
	filemenu.add_command(label=MENU_FILE_ITEMS[2], command=lambda:print(MENU_FILE_ITEMS[2]))
	filemenu.add_command(label=MENU_FILE_ITEMS[3], command=lambda:print(MENU_FILE_ITEMS[3]))
	filemenu.add_command(label=MENU_FILE_ITEMS[4], command=lambda:print(MENU_FILE_ITEMS[4]))
	filemenu.add_command(label=MENU_FILE_ITEMS[5], command=lambda:print(MENU_FILE_ITEMS[5]))
	filemenu.add_separator()
	filemenu.add_command(label=MENU_FILE_ITEMS[6], command=lambda:print(MENU_FILE_ITEMS[6]))
	filemenu.add_command(label=MENU_FILE_ITEMS[7], command=lambda:print(MENU_FILE_ITEMS[7]))
	filemenu.add_command(label=MENU_FILE_ITEMS[8], command=lambda:print(MENU_FILE_ITEMS[8]))
	filemenu.add_separator()
	filemenu.add_command(label=MENU_FILE_ITEMS[9], command=lambda:print(MENU_FILE_ITEMS[9]))
	filemenu.add_separator()
	filemenu.add_command(label=MENU_FILE_ITEMS[10], command=lambda:print(MENU_FILE_ITEMS[10]))
	filemenu.add_command(label=MENU_FILE_ITEMS[11], command=root.destroy)
    menubar.add_cascade(label=MENU_ITEMS[0], menu=filemenu)

def menu_edit(menubar):
    '''定义菜单Edit'''
    edit_menu = Menu(menubar, tearoff=1)
    edit_menu.add_command(label=MENU_EDIT_ITEMS[0], command=lambda:print(MENU_EDIT_ITEMS[0]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[1], command=lambda:print(MENU_EDIT_ITEMS[1]))
    edit_menu.add_separator()
    edit_menu.add_command(label=MENU_EDIT_ITEMS[2], command=lambda:print(MENU_EDIT_ITEMS[2]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[3], command=lambda:print(MENU_EDIT_ITEMS[3]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[4], command=lambda:print(MENU_EDIT_ITEMS[4]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[5], command=lambda:print(MENU_EDIT_ITEMS[5]))
    edit_menu.add_separator()
    edit_menu.add_command(label=MENU_EDIT_ITEMS[6], command=lambda:print(MENU_EDIT_ITEMS[6]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[7], command=lambda:print(MENU_EDIT_ITEMS[7]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[8], command=lambda:print(MENU_EDIT_ITEMS[8]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[9], command=lambda:print(MENU_EDIT_ITEMS[9]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[10], command=lambda:print(MENU_EDIT_ITEMS[10]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[11], command=lambda:print(MENU_EDIT_ITEMS[11]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[12], command=lambda:print(MENU_EDIT_ITEMS[12]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[13], command=lambda:print(MENU_EDIT_ITEMS[13]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[14], command=lambda:print(MENU_EDIT_ITEMS[14]))
    edit_menu.add_command(label=MENU_EDIT_ITEMS[15], command=lambda:print(MENU_EDIT_ITEMS[15]))
    menubar.add_cascade(label=MENU_ITEMS[1], menu=edit_menu)

def menu_format(menubar):
    '''定义菜单Format'''
    format_menu = Menu(menubar, tearoff=1)
    format_menu.add_command(label=MENU_FORMAT_ITEMS[0], command=lambda:print(MENU_FORMAT_ITEMS[0]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[1], command=lambda:print(MENU_FORMAT_ITEMS[1]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[2], command=lambda:print(MENU_FORMAT_ITEMS[2]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[3], command=lambda:print(MENU_FORMAT_ITEMS[3]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[4], command=lambda:print(MENU_FORMAT_ITEMS[4]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[5], command=lambda:print(MENU_FORMAT_ITEMS[5]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[6], command=lambda:print(MENU_FORMAT_ITEMS[6]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[7], command=lambda:print(MENU_FORMAT_ITEMS[7]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[8], command=lambda:print(MENU_FORMAT_ITEMS[8]))
    format_menu.add_command(label=MENU_FORMAT_ITEMS[9], command=lambda:print(MENU_FORMAT_ITEMS[9]))
    format_menu.add_separator()
    format_menu.add_command(label=MENU_FORMAT_ITEMS[10], command=lambda:print(MENU_FORMAT_ITEMS[10]))
    menubar.add_cascade(label=MENU_ITEMS[2], menu=format_menu)

def menu_run(menubar):
    '''定义菜单Run'''
    run_menu = Menu(menubar, tearoff=1)
    run_menu.add_command(label=MENU_RUN_ITEMS[0], command=lambda:print(MENU_RUN_ITEMS[0]))
    run_menu.add_separator()
    run_menu.add_command(label=MENU_RUN_ITEMS[1], command=lambda:print(MENU_RUN_ITEMS[1]))
    run_menu.add_command(label=MENU_RUN_ITEMS[2], command=lambda:print(MENU_RUN_ITEMS[2]))
    menubar.add_cascade(label=MENU_ITEMS[3], menu=run_menu)

def meun_options(menubar):
    '''定义菜单Options'''
    options_menu = Menu(menubar, tearoff=1)
    options_menu.add_command(label=MENU_OPTIONS_ITEMS[0], command=lambda:print(MENU_OPTIONS_ITEMS[0]))
    options_menu.add_separator()
    options_menu.add_command(label=MENU_OPTIONS_ITEMS[1], command=lambda:print(MENU_OPTIONS_ITEMS[1]))
    menubar.add_cascade(label=MENU_ITEMS[4], menu=options_menu)

def menu_windows(menubar):
    '''定义菜单Windows'''
    windows_menu = Menu(menubar, tearoff=1)
    windows_menu.add_command(label=MENU_WINDOWS_ITEMS[0], command=lambda:print(MENU_WINDOWS_ITEMS[0]))
    windows_menu.add_separator()
    menubar.add_cascade(label=MENU_ITEMS[5], menu=windows_menu)

def meun_help(menubar):
    '''定义菜单Help'''
    help_menu = Menu(menubar, tearoff=1)
    help_menu.add_command(label=MENU_HELP_ITEMS[0], command=lambda:print(MENU_HELP_ITEMS[0]))
    help_menu.add_separator()
    help_menu.add_command(label=MENU_HELP_ITEMS[1], command=lambda:print(MENU_HELP_ITEMS[1]))
    help_menu.add_command(label=MENU_HELP_ITEMS[2], command=lambda:print(MENU_HELP_ITEMS[2]))
    menubar.add_cascade(label=MENU_ITEMS[6], menu=help_menu)

def meun_test(menubar):
    '''定义菜单Help'''
    test_menu = Menu(menubar, tearoff=1)
    test_menu.add_command(label=MENU_TEST_ITEMS[0], command=about)
    test_menu.add_separator()
    test_menu.add_command(label=MENU_TEST_ITEMS[1], command=help_test1)
    test_menu.add_command(label=MENU_TEST_ITEMS[2], command=help_test2)
    test_menu.add_command(label=MENU_TEST_ITEMS[3], command=help_test3)
    test_menu.add_command(label=MENU_TEST_ITEMS[4], command=help_test4)
    test_menu.add_command(label=MENU_TEST_ITEMS[5], command=help_test5)
    test_menu.add_command(label=MENU_TEST_ITEMS[6], command=help_test6)
    test_menu.add_command(label=MENU_TEST_ITEMS[7], command=help_test7)
    test_menu.add_separator()
    test_menu.add_command(label=MENU_TEST_ITEMS[8], command=help_test8)
    test_menu.add_command(label=MENU_TEST_ITEMS[9], command=help_test9)
    test_menu.add_separator()
    test_menu.add_command(label=MENU_TEST_ITEMS[10], command=help_test10)
    menubar.add_cascade(label=MENU_ITEMS[7], menu=test_menu)

############################################################
# Test Menu Items Functions
def about():
    '''Help-About IDEL function'''
    label = Label(root, text=ABOUT_MESSAGE, fg='red')
    label.pack(side='top')

def help_test1():
    ask = askokcancel('askokcancel messagebox','你确定要这样做吗?')
    if ask:
        # to do something
        print('你选择的是:确定')
    else:
        # to do something
        print('你选择的是:取消')

def help_test2():
    ask = askquestion('askquestion messagebox', '你很喜欢那个女孩吗?')
    if 'yes' == ask:
        #to do something
        print('是的,我很喜欢')
    elif 'no' == ask:
        #to do something
        print('不是这样的,我不喜欢她')

def help_test3():
    ask = askretrycancel('askretrycancel messagebox', '该程序被其他程序占用,请重试..')
    if ask:
        #to do something
        print('重试')
    else:
        #to do something
        print('取消重试')

def help_test4():
    ask = askyesno('askyesno messagebox', 'Can you cut down a tree with a herrign?')
    print(ask)
    if 'yes' == ask:
        #to do something
        print('yes')
    elif 'no' == ask:
        #to do something
        print('no')

def help_test5():
    error = showerror('showerror messagebox', 'ClassNotFoundException...')
    if 'ok' == error:
        #to do something
        print('你选择的是确定...')
        
def help_test6():
    info = showinfo('showinfo messagebox', 'This is an ex-parrot')
    if 'ok' == info:
        #to do something
        print('ok')

def help_test7():
    warn = showwarning('showwarning messagebox', '内存溢出...')
    if 'ok' == warn:
        #to do something
        print('确认内存溢出...')

def help_test8():
    '''打开文件'''
    #('All files', '*')
    openfilename = askopenfilename(filetypes=[('xml', '*.xml')])
    try:
        with open(openfilename, 'r') as fp:
            for line in fp:
                print(line)
            fp.close()
    except:
        print('Could not open File:%s'%openfilename)

def help_test9():
    '''打开文件'''
    saveasfilename = asksaveasfilename()
    print('saves', saveasfilename.encode('utf-8'))

def help_test10():
    '''颜色面板选择器'''
    color = askcolor(title='颜色面板')
    print(color)
    
############################################################
#init menu bar
def init_menu_bar(menubar):
    '''初始化菜单条'''
    menu_file(menubar)     #file
    menu_edit(menubar)     #edit
    menu_format(menubar)   #format
    menu_run(menubar)      #run
    meun_options(menubar)  #options
    menu_windows(menubar)  #windows
    meun_help(menubar)     #help
    meun_test(menubar)     #test

#获得窗口对象
root = get_tk()
#设置窗口大小
set_tk_geometry(root, '')
#设置窗口title
set_tk_title(root, 'Python 3.3.2 Shell')
#获取菜单对象
menubar = get_menu(root)
#初始化菜单
init_menu_bar(menubar)
#加载菜单配置
root.config(menu=menubar)

mainloop()

标签: python

实例下载地址

python 入门示例源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警