• python3 tkinter 桌面软件教程


    效果图

    """"brid布局"""
    from tkinter import *
    import tkinter.filedialog
    from tkinter import scrolledtext        # 导入滚动文本框的模块
    from tkinter.messagebox import *
    import time
    
    class TKMain():
        xin = Tk()
        path = StringVar()
        #路径赋值
        def selectPath(self):
            path_ = tkinter.filedialog.askopenfilename()
            self.path.set(path_)
        # 桌面
        def views(self):
            self.xin.geometry('400x400')  # 指定主框体大小
            self.xin.title('名称')  # 标题名
            Label(self.xin, text="编号").grid(row=1, column=0, sticky=E)
    
            self.number_id = tkinter.StringVar()
            self.number_id_entry = tkinter.Entry(self.xin)
            self.number_id_entry["textvariable"] = self.number_id
            self.number_id_entry.grid(row=1, column=1, sticky=E)
    
            Label(self.xin, text="文件").grid(row=3, column=0, sticky=E)
            #Entry(self.xin, stat="readonly", textvariable=self.path).grid(row=3, column=1, sticky=E)
            self.xls_path = tkinter.StringVar()
            self.xls_path_entry = tkinter.Entry(self.xin,stat="readonly")
            self.xls_path_entry["textvariable"] = self.path
            self.xls_path_entry.grid(row=3, column=1, sticky=E)
            Button(self.xin, text=" 选择 ", command=self.selectPath).grid(row=3, column=2, sticky=E)
            # 占位
            Label(self.xin, text="").grid(row=5, column=0)
            Button(self.xin, text=" 运行 ", command=self.validate).grid(row=6, column=1, sticky=E)
            Button(self.xin, text=" 停止 ").grid(row=6, column=2, sticky=E)
            # 占位
            Label(self.xin, text="").grid(row=7, column=0)
            # 滚动文本框
            scrolW = 50  # 设置文本框的长度
            scrolH = 18  # 设置文本框的高度
            self.text = scrolledtext.ScrolledText(self.xin, width=scrolW, height=scrolH, wrap=tkinter.WORD)
            self.text.grid(row=10, columnspan=8, sticky=tkinter.E)
            pass
    
        #验证事件
        def validate(self):
            is_validata = True;
            try:
                number_id_val = int(self.number_id.get());
                xls_path_val = self.path.get()
                if xls_path_val =="":
                    is_validata = FALSE
                if number_id_val < 1:
                    is_validata = FALSE
            except:
                is_validata = FALSE
            if is_validata == FALSE:
                for i in range(0,100):
                    self.text.see(END)  # 一直查看文本的最后位置~
                    time.sleep(0.5)
                    self.text.insert('end', "验证不通过,请查看!" + str(i)+ "
    ")
                    self.text.update()#一直更新输出
                    if i == 50 :
                        break
                print("验证不通过!")
            pass
        def app(self):
            self.views()
            mainloop()
    def main():
        TKMain().app();
        pass;
    
    if __name__ == "__main__":
        main()
  • 相关阅读:
    摆动排序 II
    二进制中1的个数
    n的幂
    丢掉的数字
    phpcms直接取子栏目的内容、调用点击量的方法
    phpcms导航栏当前栏目选中方法
    PHP中的全局变量global和$GLOBALS的区别
    phpcms添加子栏目后的读取
    phpcms取内容发布管理中的来源
    cms替换主页
  • 原文地址:https://www.cnblogs.com/wtcl/p/9095040.html
Copyright © 2020-2023  润新知