zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    线段树刷题版
    HDU 1011 Starship Troopers 树形+背包dp
    POJ1741 Tree 树分治模板
    POJ3744 Scout YYF I 概率DP+矩阵快速幂
    【bzoj1875】【JZYZOJ1354】[SDOI2009]HH去散步 矩阵快速幂 点边转换
    BZOJ 3231: [Sdoi2008]递归数列 (JZYZOJ 1353) 矩阵快速幂
    POJ 2778 DNA Sequence AC自动机+矩阵快速幂
    POJ2222 Keywords Search AC自动机模板
    Python 命名空间
    svn下目录说明
  • 原文地址:https://www.cnblogs.com/wtcl/p/9095040.html
Copyright © 2011-2022 走看看