Python3记事本UI

代码:(半成品)

#encoding:utf-8
import tkinter
# 菜单
menuText = {"文件": ["新建", "打开", "保存", "另存为...", "退出"],
            "编辑": ["查找", "替换", "查找下一个..."], "运行": ["运行", "调试"], "帮助": ["关于"]}
# notepad类
class notepad(tkinter.Tk):
    def __init__(self, width=0, height=0, adjustX=0, adjustY=0, flag=False):
        tkinter.Tk.__init__(self)
        if flag:
            self.width = width
            self.height = height
        else:
            self.width = self.winfo_screenwidth()
            self.height = self.winfo_reqheight()
        self.adjustX = adjustX
        self.adjustY = adjustY
        self.start()
    # 屏幕位置确定
    def screenCenter(self):
        screenHeight = self.winfo_screenheight()
        screenWidth = self.winfo_screenwidth()
        centerX = (screenWidth - self.width) / 2 - self.adjustX
        centerY = (screenHeight - self.height) /2 - self.adjustY
        centerPlay = str(self.width) + 'x' + str(self.height) + '+' + str(int(centerX)) + '+' + str(int(centerY))
        self.geometry(centerPlay)
    # notepad菜单
    def notepadMenu(self):
        menubar = tkinter.Menu(self)
        for menuItem in menuText:
            menu = tkinter.Menu(menubar, tearoff=0)
            for text in menuText[menuItem]:
                menu.add_command(label=text, command=lambda name=text:self.methodFunc(name))
            menubar.add_cascade(label=menuItem, menu=menu)
        self.config(menu=menubar)
    # notepad启动
    def start(self):
        self.title("notepad")
        self.screenCenter()
        self.notepadMenu()
        text = tkinter.Text(self)
        text.pack(fill=tkinter.BOTH)
    # notepad菜单及命令设置函数
    def methodFunc(self, name):
        if name == "退出":
            self.quit()
        # 下面方法省略
# 运行
if __name__ == '__main__':
    # notepad实例化
    note = notepad(width=500, height=300, adjustY=100, flag=True).mainloop()

图片:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值