• 利用 tkinter 实现小工具


    - 目的:

    • 做个工具给运营使用的一个exe, 让他们不要经常打断我工作(日常被打断思路,要崩溃了)
    • 学习一下tkinter, 本来也可以用web做的~

    - 效果(果然是丑的一逼):


    .

    学习过程

    网上了解到的tkinter基本知识:

    • 窗体相关
      • import tkinter as tk
      • window = tk.Tk() 创造基本window, 所有操作基于这个画布上
      • window.title('重命名title')
      • window.geometry('400x400') [设置窗体大小,这里要用x而不是*哈哈]
      • window.minsize(400, 200)/window.maxsize(400, 800) [最小最大窗体限制]
      • window.mainloop() [这里就进入主循环]
    • 菜单栏相关
      • menubar = tk.Menu(window)
      • window.config(menu=menubar)
    • 组件
      • 显示文案
        • tips = tk.StringVar()
        • tk.Label(face, textvariable=tips, fg='red')
      • 输入
        • var_usr_name = tk.StringVar()
        • entry_usr_name = tk.Entry(face, textvariable=var_usr_name, font=('Arial', 14))
        • entry_usr_name.get()拿到输入的东西
      • 容器
        • left_frame = tk.LabelFrame(self.main_frame, text='选择功能')
      • 左侧选择栏
        • listbox = tk.Listbox(
          left_frame, width=12, font=('Arial', 10),
          listvariable=tk.StringVar(value=[i['title'] for i in method_list]),
          selectmode="browse"
          )
        • listbox.bind("<>", select_method) (绑定选择使用的方法)
        • listbox.curselection()[0] (获得当前选择的是哪个)
      • 单选
        • tk.Radiobutton(o, text=choice[i], variable=arg_widget, value=i).grid(column=0, row=i, sticky=tk.W)
      • 组件摆放
        • grid用起来顺手点,place可以在组件少的时候
      • 其他的还是看附件的代码

    思路

    • 服务端定义好一个控件的参数, 方便新增加功能控件, 不需要改客户端
      登录完成的时候就去拿一下控件的参数,就像:

    • 另外一个要点就是客户端能获取到服务端得功能列表,并循环创建windows,这里我用得一个办法是:
      将生产页面的函数改成字符串,并使用列表的参数替换,最后eval并赋值给self作为对象的属性,如:


      然后就在 api/v1/helper/modify-relation/ 这个接口写逻辑, 接受参数 inviter, invitee, is_force 0/1 了,

  • 相关阅读:
    师生关系
    2019-2020 20191316《信息安全专业导论》第二周学习总结
    计算机科学概论问题2
    android studio device file explorer 无法向/storage/emulated/0/上传文件
    【转载】android打包APK
    android app no modules 错误,不能运行
    Error:Unable to locate adb within SDK in Android Studio
    Ubuntu set up 8
    Ubuntu 18.04.3 安装 CUDA 10.2
    Intel Realsense SDK for Android 编译
  • 原文地址:https://www.cnblogs.com/yudengc/p/12856469.html
Copyright © 2020-2023  润新知