rs = c.fetchall() field_names = [r[0] for r in c.description] for f in field_names: text.insert("insert", "\t" + f + "\n") database = sys.argv[1] if len(sys.argv) > 1 else "LXF.sqlite" conn = sqlite3.connect(database) c = conn.cursor() root = Tk() canvas = Canvas(root, width=810, height=600) canvas.pack() text = ST.ScrolledText(canvas, width=35, height=20, borderwidth=0) text.pack() # Dummy listOfTables = {} listOfTables['sqlite_master'] = 0 c.execute("select name from sqlite_master where type='table';") for record in c: listOfTables[record[0]] = 0 variable = StringVar(root) variable.set("sqlite_master") #default value w = OptionMenu(root, variable, *listOfTables) w.pack() Button(root, text="Quit", command=root.quit).pack(side=BOTTOM, anchor=SE)
import tkinter as tk import tkinter.ttk as ttk import tkinter.scrolledtext as scrolledtext def send_data(): txt.insert('end', combo.get() + '\n') root = tk.Tk() label = tk.Label(root, text="Location:") label.pack() combo = ttk.Combobox(root, values=("Chicago", "NY", "Texas")) combo.pack() combo.current(0) button = tk.Button(root, text="Send", command=send_data) button.pack() txt = scrolledtext.ScrolledText(root) txt.pack() root.mainloop()
button_run.place(x=230, y=10, width=40, height=25) def stop(): while not thread_que.empty(): t = thread_que.get() stop_thread(t) button_stop = tk.Button(root, text='Stop', command=stop) button_stop.place(x=270, y=10, width=40, height=25) # 创建滚动文本框================================================================== scr1 = scrolledtext.ScrolledText(root, font=('幼圆', 13), fg='red') #滚动条字体、颜色 scr1.place(x=10, y=70, width=480, height=150) #大小及位置 scr2 = scrolledtext.ScrolledText(root, font=('微软雅黑', 10), fg='blue') scr2.place(x=10, y=310, width=480, height=150) # 爬虫========================================================================== spider = tk.IntVar() spider.set(0) boxoffice = tk.Radiobutton(root, variable=spider, value=0, text='movie') boxoffice.place(x=330, y=250, width=70, height=25) weibo = tk.Radiobutton(root, variable=spider, value=1, text='weibo') weibo.place(x=330, y=15, width=100, height=25)
from tkinter import ttk from tkinter import scrolledtext window = tk.Tk() window.title("My Personal Title") window.geometry("300x250") window.resizable(0, 0) window.wm_iconbitmap("images/ok.ico") def get_scr_info(): print(scrol_text.get(1.0, tk.END)) #Label to guide user: label1 = ttk.Label(window, text="Write your opinion about this workshop:") label1.pack(pady=10) # Scrolledtext scrol_text = scrolledtext.ScrolledText(window, width=30, height=4, wrap=tk.WORD) scrol_text.pack() #Button to continue. ok_button = ttk.Button(window, text="Get info!", command=get_scr_info) ok_button.pack(pady=50) window.mainloop()
def childFrame(self): left_descrb = ('开始页码', '结束页码', '终止ID', '最大文件体积', 'tag搜索终止ID') middle_descrb = ('最小宽度', '最小高度', '最小宽高比', '最大宽度', '最大高度', '最大宽高比') switch_descrb = ('下载体积限制', 'tag搜索', '下载延迟', '跳过pending', '安全模式', '从文件读取配置') text_descrb = ('下载路径', '要搜索的tags', '要排除的tags') left_options = [] # len = 5 middle_options = [] # len = 6 switch_options = [] # len = 6 text_options = [] # len = 3 left_var = [0] * 5 middle_var = [0] * 6 switch_var = [1] * 6 text_input = [''] * 3 def start(): for i in range(6): if i < 3: text_input[i] = text_options[i].get() if i < 5: left_var[i] = left_options[i].get() middle_var[i] = middle_options[i].get() switch_var[i] = switch_options[i].get() if not switch_var[5]: settings['start_page'] = left_var[0] settings['stop_page'] = left_var[1] settings['file_size'] = left_var[3] * 1048576 settings['pic_size']['min']['width'] = middle_var[0] settings['pic_size']['min']['height'] = middle_var[1] settings['pic_size']['min']['proportion'] = middle_var[2] settings['pic_size']['max']['width'] = middle_var[3] settings['pic_size']['max']['height'] = middle_var[4] settings['pic_size']['max']['proportion'] = middle_var[5] if not left_var[2]: settings['last_stop_id'] = left_var[2] if not left_var[4]: settings['tagSearch_last_stop_id'] = left_var[4] pic_type = middle_option.get() if pic_type == '全部': settings['pic_type'] = 0 elif pic_type == '横图': settings['pic_type'] = 1 elif pic_type == '竖图': settings['pic_type'] = 2 elif pic_type == '方形': settings['pic_type'] = 3 settings['file_size_limit'] = switch_var[0] settings['tag_search'] = switch_var[1] settings['random_delay'] = switch_var[2] settings['status_active_only'] = switch_var[3] settings['safe_mode'] = switch_var[4] settings['folder_path'] = text_input[0] tags = text_input[1].replace(' ', '+') discard_tags = text_input[2].strip(' ').split(' ') page = settings['start_page'] stop_page = settings['stop_page'] last_stop_id = settings['last_stop_id'] tag_on = settings['tag_search'] folder_path = settings['folder_path'] + '/' + time.strftime( '%Y%m%d') delay_on = settings['random_delay'] start_time = time.strftime('%H-%M-%S') Function.create_folder(folder_path) i = 1 end = False while True: if page <= stop_page or not stop_page: Log.add('正在读取第' + str(page) + '页……') data = Yandere.get_json(page, tag_on, tags) for post in Yandere.get_li(data): if i == 1: settings['last_stop_id'] = post['id'] Function.write(settings['folder_path'], 'config.json', Yandere.return_json(settings), True) if post['id'] <= last_stop_id and not stop_page: end = True break post['id'] = str(post['id']) if index.judge(post, settings, discard_tags): index.download(post, folder_path) if delay_on: time.sleep(random.uniform(0.5, 10.0)) Log.g_output(output) index.write_log(folder_path, start_time) i += 1 if end: break page += 1 else: break # 选项区 # 左上 left = tk.LabelFrame(self.container, text='基本设置') left.grid(row=0, column=0) for i in range(5): left_options.append(tk.IntVar()) tk.Label(left, text=left_descrb[i]).grid(row=i, column=0, sticky='e') tk.Entry(left, width=6, textvariable=left_options[i]).grid(row=i, column=1) # 左下 desc = tk.LabelFrame(self.container, text='运行') desc.grid(row=1, column=0) tk.Button(desc, text='开始!', width=10, height=1, command=start).grid(row=0, column=0) # tk.Button(desc, text = '退出', width = 10, height = 1, command = self.container.quit()).grid(row = 0, column = 1) # 中间 middle = tk.LabelFrame(self.container, text='尺寸设置') middle.grid(row=0, column=1, rowspan=2) for i in range(6): middle_options.append(tk.IntVar()) tk.Label(middle, text=middle_descrb[i]).grid(row=i, column=0, sticky='e') tk.Entry(middle, width=6, textvariable=middle_options[i]).grid(row=i, column=1) tk.Label(middle, text='图片方向').grid(row=6, column=0, sticky='e') middle_option = tk.StringVar() pic_type_ui = ttk.Combobox(middle, values=('全部', '横图', '竖图', '方形'), textvariable=middle_option, width=4) pic_type_ui.grid(row=6, column=1) # 右侧 right = tk.LabelFrame(self.container, text='开关项') right.grid(row=0, column=2, rowspan=2) for i in range(6): tk.Label(right, text=switch_descrb[i]).grid(row=i, column=0, sticky='e') switch_options.append(tk.IntVar()) tk.Radiobutton(right, text='开', variable=switch_options[i], value=1).grid(row=i, column=1) tk.Radiobutton(right, text='关', variable=switch_options[i], value=0).grid(row=i, column=2) # 下部 bottom = tk.LabelFrame(self.container, text='') bottom.grid(row=2, column=0, columnspan=3) for i in range(3): text_options.append(tk.StringVar()) tk.Label(bottom, text=text_descrb[i]).grid(row=i, column=0, sticky='e') tk.Entry(bottom, width=50, textvariable=text_options[i]).grid( row=i, column=1, ) #text_options[i] = tk.Entry(bottom, width = 50) #text_options[i].grid(row = i, column = 1) #text_options[i].bind('<return>') # 输出区 output = scrolledtext.ScrolledText(self.container, width=60, height=12) output.grid(row=3, columnspan=3) output.insert( 'end', 'tag搜索终止ID仅当tag搜索选项启用时生效\n部分功能暂缺,可能会有错误\n点\"开始\"后窗口会无响应但是爬取功能确实在运行,后续考虑解决' ) output.see('end') output.update()
ttk.Label(window, text="What class would you like to view? ", font=("Times New Roman", 12)).grid(column=2, row=1) Stud_Courses = tk.StringVar() Courses = tk.StringVar() Courses_chosen = ttk.Combobox(window, width=12, textvariable=Courses) Courses_chosen['values'] = ("Bio1", "Math1", "EngLit", "Chess1") Courses_chosen.grid(column=2, row=2) Courses_chosen.current(0) addCourses = ttk.Button( window, text="Add Courses", ) addCourses.grid(column=2, row=5) view_grade = ttk.Button(window, text="View Grades") view_grade.grid(column=2, row=4) #scroll textbox scroll_width = 30 scroll_height = 20 scr = scrolledtext.ScrolledText(window, width=scroll_width, height=scroll_height, wrap=tk.WORD) scr.grid(column=3, row=5) window.mainloop()
def __init__(self, master): master.title("Explore California Feedback") master.resizable(False, False) master.configure(background="#e1d8b9") # Style object to configure style of widgets self.style = ttk.Style() self.style.configure("TFrame", background="#e1d8b9") self.style.configure("TButton", background="#e1d8b9") self.style.configure("TLabel", background="#e1d8b9", font=["Cascadia Code", 10]) self.style.configure("Info.TLabel", font=["Cascadia Code", 14]) # Frame for user info on top of window self.info_frame = ttk.Frame(master) self.info_frame.pack(pady=5) self.pic = tk.PhotoImage(file="..\\etc\\tour_logo.gif") ttk.Label(self.info_frame, image=self.pic).grid(row=0, column=0, rowspan=2) ttk.Label(self.info_frame, text="Explore California", style="Info.TLabel").grid(row=0, column=1) ttk.Label( self.info_frame, text= "Thank You for taking your time to fill up this Feedback Survey form and support us in our mission", wraplength=300, justify=tk.CENTER, ).grid(row=1, column=1) # Frame for all the input fields self.fields_frame = ttk.Frame(master) self.fields_frame.pack(pady=5) # Name field ttk.Label(self.fields_frame, text="Name:").grid(row=0, column=0, padx=5, sticky="nw") self.name_entry = ttk.Entry(self.fields_frame, width=17, font=["JetBrains Mono", 10]) self.name_entry.grid(row=1, column=0, padx=5) self.name_entry.focus() # Email field ttk.Label(self.fields_frame, text="Email:").grid(row=0, column=1, padx=5, sticky="nw") self.email_entry = ttk.Entry(self.fields_frame, width=17, font=["JetBrains Mono", 10]) self.email_entry.grid(row=1, column=1, padx=5) # Comments field ttk.Label(self.fields_frame, text="Comments:").grid(row=2, column=0, padx=5, sticky="nw") self.comments_text = scrolledtext.ScrolledText( self.fields_frame, width=40, height=6, wrap="word", font=["JetBrains Mono", 10], ) self.comments_text.grid(row=3, column=0, columnspan=2, padx=5) # Frame for the buttons at bottom of window self.buttons_frame = ttk.Frame(master) self.buttons_frame.pack(pady=5) # Submit button ttk.Button(self.buttons_frame, text="Submit", command=self.submit).grid(row=0, column=0, padx=5, pady=5, sticky="e") # Clear button ttk.Button(self.buttons_frame, text="Clear", command=self.clear_fields).grid(row=0, column=1, padx=5, pady=5, sticky="w")
# only enable one checkbutton if chVarUn.get(): check3.configure(state='disabled') else: check3.configure(state='normal') if chVarEn.get(): check2.configure(state='disabled') else: check2.configure(state='normal') # trace the state of the two checkbuttons chVarUn.trace('w', lambda unused0, unused1, unused2: checkCallback()) chVarEn.trace('w', lambda unused0, unused1, unused2: checkCallback()) # Using a scrolled Text control scrolW = 30 scrolH = 3 scr = scrolledtext.ScrolledText(my_first_frame, width=scrolW, height=scrolH, wrap=tk.WORD) scr.grid(column=0, sticky='WE', columnspan=3) # Create a container to hold labels labelsFrame = ttk.LabelFrame(my_second_frame, text=' Labels in a Frame ') labelsFrame.grid(column=0, row=7) # Place labels into the container element - vertically ttk.Label(labelsFrame, text="Label1").grid(column=0, row=0) ttk.Label(labelsFrame, text="Label2").grid(column=0, row=1) ttk.Label(labelsFrame, text="Label3").grid(column=0, row=2) # Add some space around each label for child in labelsFrame.winfo_children(): child.grid_configure(padx=8, pady=1)
from tkinter import * from tkinter import scrolledtext import os window= Tk() window.title("Shell") window.geometry('350x200') txt = scrolledtext.ScrolledText(window,width=150,height=150) txt.grid(column=0,row=0) def keydown(e): #print(e.char) i = txt.count(0.0,1000000.0,"displaylines") x = txt.get(float(i[0]),10000000.0) x= x.split('\n')[0] #x= x.split(':')[1] if(x.split()[0] == 'cd'): try: x.split()[1] os.chdir(x.split()[1]) except: txt.insert("insert","\nEnter directory") txt.insert("insert","\n\""+os.getcwd()+"\": ") txt.delete("insert", "insert -1 chars")
menuBar.add_cascade(label="File", menu=fileMenu) # 在菜单栏上添加Help按钮 helpMenu = Menu(menuBar, tearoff=0) helpMenu.add_command(label="About", command=_msgBox) menuBar.add_cascade(label="Help", menu=helpMenu) ########################################################################## monty = ttk.LabelFrame(tab1, text='Monty Python') monty.grid(column=0, row=0, padx=8, pady=4) ttk.Label(monty, text="Enter a name:").grid(column=0, row=0, sticky='W') scrolW = 30 scrolH = 3 scr = scrolledtext.ScrolledText(monty, width=scrolW, height=scrolH, wrap=tk.WORD) scr.grid(column=0, sticky='WE', columnspan=3) # 我们调用创建工具提示的函数,然后将引用传递给当鼠标悬停在小部件上时,我们希望显示小部件和文本。 createToolTip(scr, 'This is a ScrolledText widget.') # Spinbox callback def _spin(): value = spin.get() print(value) scr.insert(tk.INSERT, value + '\n') # 设置不同的relief的属性来改变spinbox的形状,tk.SUNKEN tk.RAISED tk.FLAT tk.GROOVE tk.RIDGE spin = Spinbox(monty,
lblending.place(x=690, y=150) txtfldending = Entry(window, text="This is Ending Number", bg='white', fg='black', bd=5) txtfldending.pack() txtfldending.place(x=750, y=200) btn = Button(window, text="Send Mails", fg='black') btn.pack() btn.place(x=475, y=500) btn.bind('<Button-1>', ButtonClick) lb = scrolledtext.ScrolledText(window, width=40, height=10, undo=True) lb['font'] = ('consolas', '12') lb.pack() lb.place(x=325, y=300) labelstyle = Label(window, text="Enter the complete style tag here", fg='black', font=("karla", 14)) labelstyle.pack() labelstyle.place(x=75, y=500) Tstyle = tk.Text(window, height=10, width=50) Tstyle.pack() Tstyle.place(x=50, y=550) Tstyle.insert(tk.END, styletagsfinal)
from tkinter import * from tkinter import scrolledtext from nltk.stem.lancaster import LancasterStemmer from nltk.corpus import stopwords stemmer = LancasterStemmer() import os import numpy import tflearn import tensorflow import random import time import pickle import json window = Tk() window.title("First TKinter App") lbl1 = scrolledtext.ScrolledText(window, width=80, height=10) lbl1.grid(column=0, row=1) window.geometry('850x800') txt1 = Entry(window, width=60) txt1.grid(column=0, row=2) def clicked(self): inp = txt1.get() if inp.lower() == "quit": window.destroy() #print(words) results = model.predict([bag_of_words(inp, words)]) #print('results = ') #print(results)
def __init__(self, parent): tk.Frame.__init__(self, parent) self.queue = queue.Queue() self.equationSelect_2D = tk.IntVar() self.equationSelect_3D = tk.IntVar() self.fittingTargetSelect_2D = tk.IntVar() self.fittingTargetSelect_3D = tk.IntVar() # ROW 0 - empty labels as visual buffers row, col = (0, 0) # left edge l = tk.Label(self, text=" ") l.grid(column=col, row=row) row, col = (0, 2) # center l = tk.Label(self, text=" ") l.grid(column=col, row=row) row, col = (0, 4) # right edge l = tk.Label(self, text=" ") l.grid(column=col, row=row) # ROW 1 - text data entry labels # no "self" needed as no later references exist row, col = (1, 1) l = tk.Label(self, text="--- 2D Data Text Editor ---", font="-weight bold") l.grid(column=col, row=row) row, col = (1, 3) l = tk.Label(self, text="--- 3D Data Text Editor ---", font="-weight bold") l.grid(column=col, row=row) # ROW 2 - text data input, no line wrap row, col = (2, 1) self.text_2D = tk_stxt.ScrolledText(self, width=45, height=12, wrap=tk.NONE) self.text_2D.insert(tk.END, dfc.exampleText_2D) # inital text data self.text_2D.grid(column=col, row=row, sticky=(tk.N, tk.W, tk.E, tk.S)) row, col = (2, 3) self.text_3D = tk_stxt.ScrolledText(self, width=45, height=12, wrap=tk.NONE) self.text_3D.insert(tk.END, dfc.exampleText_3D) # inital text data self.text_3D.grid(column=col, row=row, sticky=(tk.N, tk.W, tk.E, tk.S)) # ROW 3 - empty label as visual buffer row, col = (3, 0) l = tk.Label(self, text=" ") l.grid(column=col, row=row) # ROW 4 - equation selection labels # no "self" needed as no later references exist row, col = (4, 1) l = tk.Label(self, text="--- Standard 2D Equations ---", font="-weight bold") l.grid(column=col, row=row) row, col = (4, 3) l = tk.Label(self, text="--- Standard 3D Equations ---", font="-weight bold") l.grid(column=col, row=row) # ROW 5 - equation selection row, col = (5, 1) f = tk.Frame(self) f.grid(column=col, row=row) self.cb_Modules2D = tk.ttk.Combobox(f, state='readonly') self.cb_Modules2D['values'] = sorted(list(dfc.eq_od2D.keys())) self.cb_Modules2D.bind("<<ComboboxSelected>>", self.moduleSelectChanged_2D) self.cb_Modules2D.set('Polynomial') self.cb_Modules2D.pack(anchor=tk.W) self.cb_Equations2D = tk.ttk.Combobox(f, state='readonly') self.cb_Equations2D['width'] = 50 self.cb_Equations2D['values'] = sorted( list(dfc.eq_od2D['Polynomial'].keys())) self.cb_Equations2D.set('1st Order (Linear)') self.cb_Equations2D.pack(anchor=tk.W) row, col = (5, 3) f = tk.Frame(self) f.grid(column=col, row=row) self.cb_Modules3D = tk.ttk.Combobox(f, state='readonly') self.cb_Modules3D['values'] = sorted(list(dfc.eq_od3D.keys())) self.cb_Modules3D.bind("<<ComboboxSelected>>", self.moduleSelectChanged_3D) self.cb_Modules3D.set('Polynomial') self.cb_Modules3D.pack(anchor=tk.W) self.cb_Equations3D = tk.ttk.Combobox(f, state='readonly') self.cb_Equations3D['width'] = 50 self.cb_Equations3D['values'] = sorted( list(dfc.eq_od3D['Polynomial'].keys())) self.cb_Equations3D.set('Linear') self.cb_Equations3D.pack(anchor=tk.W) # ROW 6 - empty label as visual buffer row, col = (6, 0) l = tk.Label(self, text=" ") l.grid(column=col, row=row) # ROW 7 - fitting target selection labels # no "self" needed as no later references exist row, col = (7, 1) l = tk.Label(self, text="--- Fitting Target 2D ---", font="-weight bold") l.grid(column=col, row=row) row, col = (7, 3) l = tk.Label(self, text="--- Fitting Target 3D ---", font="-weight bold") l.grid(column=col, row=row) # ROW 8 - fitting target selection radio buttons row, col = (8, 1) f = tk.Frame(self) f.grid(column=col, row=row) index = 0 for fittingTargetText in dfc.fittingTargetList: rb = tk.Radiobutton(f, text=fittingTargetText, variable=self.fittingTargetSelect_2D, value=index) rb.pack(anchor=tk.W) index += 1 row, col = (8, 3) f = tk.Frame(self) f.grid(column=col, row=row) index = 0 for fittingTargetText in dfc.fittingTargetList: rb = tk.Radiobutton(f, text=fittingTargetText, variable=self.fittingTargetSelect_3D, value=index) rb.pack(anchor=tk.W) index += 1 # ROW 9 - empty label as visual buffer row, col = (9, 0) l = tk.Label(self, text=" ") l.grid(column=col, row=row) # ROW 10 - fitting buttons row, col = (10, 1) self.buttonFit_2D = tk.Button(self, text="Fit 2D Text Data", command=self.OnFit_2D) self.buttonFit_2D.grid(column=col, row=row) row, col = (10, 3) self.buttonFit_3D = tk.Button(self, text="Fit 3D Text Data", command=self.OnFit_3D) self.buttonFit_3D.grid(column=col, row=row) # ROW 11 - empty label as visual buffer row, col = (11, 0) l = tk.Label(self, text=" ") l.grid(column=col, row=row) # now bind our custom ""status_update"" event to the handler function self.bind('<<status_update>>', self.StatusUpdateHandler)
state_combo.grid(column=1, row=0) state_combo.current(0) def _get_cities(): state = state_combo.get() get_city_station_ids(state) get_weather_btn = ttk.Button(weather_states_frame, text='Get Cities', command=_get_cities).grid(column=2, row=0) from tkinter import scrolledtext scr = scrolledtext.ScrolledText(weather_states_frame, width=30, height=17, wrap=tk.WORD) scr.grid(column=0, row=1, columnspan=3) for child in weather_states_frame.winfo_children(): child.grid_configure(padx=6, pady=6) #-------------------------------------------------- def get_city_station_ids(state='wa'): url_general = 'http://w1.weather.gov/xml/current_obs/seek.php?state={}&Find=Find' state = state.lower() url = url_general.format(state) request = urllib.request.urlopen(url) content = request.read().decode() print(content)
number_chosen.current(0) # Spinbox callback def _spin(): value = spin.get() print(value) scrol.insert(tk.INSERT, value + '\n') # Adding a Spinbox widget spin = Spinbox(mighty, values=(1, 2, 4, 42, 100), width=5, bd=9, command=_spin) # using range spin.grid(column=0, row=2) # Using a scrolled Text control scrol_w = 30 scrol_h = 3 scrol = scrolledtext.ScrolledText(mighty, width=scrol_w, height=scrol_h, wrap=tk.WORD) scrol.grid(column=0, row=3, sticky='WE', columnspan=3) # Tab Control 2 refactoring --------------------------------------------------------- # We are creating a container frame to hold all other widgets -- Tab2 mighty2 = ttk.LabelFrame(tab2, text=' The Snake ') mighty2.grid(column=0, row=0, padx=8, pady=4) # Creating three checkbuttons chVarDis = tk.IntVar() check1 = tk.Checkbutton(mighty2, text="Disabled", variable=chVarDis, state='disabled') check1.select() check1.grid(column=0, row=0, sticky=tk.W) chVarUn = tk.IntVar()
### lbl_typing = Label(win, text="수동 입력 값", width=10) lbl_typing.grid(row=5, column=2) ent_typing_value = StringVar() ent_typing = Entry(win, textvariable=ent_typing_value, width=10).grid(row=6, column=2) btn_typing = Button(win, text='Typing', command=btn_typing_func, width=10, state='normal') btn_typing.grid(row=7, column=2) ### scrt = tkst.ScrolledText(win, height=10, width=30, wrap=WORD) # , width=50 Create a scrolledtext scrt.grid(row=8, column=0, columnspan=3, sticky=W + E) #columnspan=3) # scrt.focus_set() # Default focus ### btn_delete_scrt = Button(win, text="삭제하기", command=delete_from_scrt, width=10) #, width=10) btn_delete_scrt.grid(row=10, column=1, sticky=E) btn_open_txt = Button(win, text='불러오기', command=btn_open_txt_func, width=10) btn_open_txt.grid(row=10, column=0) btn_save_txt = Button(win, text='저장하기', command=btn_save_txt_func, width=10) btn_save_txt.grid(row=10, column=2) from pymouse import PyMouse
def __init__(self, parent, controller): tk.Frame.__init__(self, parent) # label of frame/ Title of the page. plus the location using grid Stickbot_title = Label(self, text=" Oxygen - Stats", width=30, borderwidth=5, font=mediumfont, background='lightgreen', foreground='black') Stickbot_title.grid(row=0, column=0, columnspan=4, padx=10, pady=10) # creating buttons and assigning them to their respective frames/page. button_mainmenu = ttk.Button( self, text="CO2 Level", command=lambda: controller.change_frame(CO2)) button_mainmenu.grid(row=1, column=0, columnspan=2, padx=10, pady=10) button_Temperature = ttk.Button( self, text="Temperature Level", command=lambda: controller.change_frame(Temperature)) button_Temperature.grid(row=2, column=0, columnspan=2, padx=10, pady=10) button_PHLevel = ttk.Button( self, text="PH Level", command=lambda: controller.change_frame(PH)) button_PHLevel.grid(row=3, column=0, columnspan=2, padx=10, pady=10) button_Oxygen = ttk.Button( self, text="Main Menu", command=lambda: controller.change_frame(Mainpage)) button_Oxygen.grid(row=4, column=0, columnspan=2, padx=10, pady=10) button_exit = ttk.Button(self, text="EXIT", command=self.close) button_exit.grid(row=5, column=0, columnspan=2, padx=10, pady=10) updateErrorLog = st.ScrolledText(self, width=30, height=8, font=("Times New Roman", 15)) updateErrorLog.grid(row=0, column=2, columnspan=2, rowspan=6) # Inserting Text which is read only updateErrorLog.insert(tk.INSERT, oxygenError) # Making the Log read only updateErrorLog.configure(state='disabled') # graph location graphLocation = Button( self, text="Click here to open the Graph", command=lambda: [oxygen(), oxygenchart()]) graphLocation.grid(row=5, column=2, columnspan=4, rowspan=3)
def createWidgets(self): # Tab Control introduced here -------------------------------------- tabControl = ttk.Notebook(self.win) # Create Tab Control tab1 = ttk.Frame(tabControl) # Create a tab tabControl.add(tab1, text='Tab 1') # Add the tab tab2 = ttk.Frame(tabControl) # Add a second tab tabControl.add(tab2, text='Tab 2') # Make second tab visible tabControl.pack(expand=1, fill="both") # Pack to make visible # ~ Tab Control introduced here ----------------------------------------- # We are creating a container frame to hold all other widgets self.monty = ttk.LabelFrame(tab1, text=' Monty Python ') self.monty.grid(column=0, row=0, padx=8, pady=4) # Changing our Label ttk.Label(self.monty, text="Enter a name:").grid(column=0, row=0, sticky='W') # Adding a Textbox Entry widget self.name = tk.StringVar() nameEntered = ttk.Entry(self.monty, width=24, textvariable=self.name) nameEntered.grid(column=0, row=1, sticky='W') nameEntered.delete(0, tk.END) nameEntered.insert(0, '< default name >') # Adding a Button self.action = ttk.Button(self.monty, text="Click Me!", command=self.clickMe) self.action.grid(column=2, row=1) ttk.Label(self.monty, text="Choose a number:").grid(column=1, row=0) number = tk.StringVar() numberChosen = ttk.Combobox(self.monty, width=14, textvariable=number) numberChosen['values'] = (1, 2, 4, 42, 100) numberChosen.grid(column=1, row=1) numberChosen.current(0) # Adding a Spinbox widget using a set of values self.spin = Spinbox(self.monty, values=(1, 2, 4, 42, 100), width=5, bd=8, command=self._spin) self.spin.grid(column=0, row=2, sticky='W') # Using a scrolled Text control scrolW = 40 scrolH = 10 self.scr = scrolledtext.ScrolledText(self.monty, width=scrolW, height=scrolH, wrap=tk.WORD) self.scr.grid(column=0, row=3, sticky='WE', columnspan=3) # Tab Control 2 refactoring --------------------------------------------------- # We are creating a container frame to hold all other widgets -- Tab2 self.monty2 = ttk.LabelFrame(tab2, text=' The Snake ') self.monty2.grid(column=0, row=0, padx=8, pady=4) # Creating three checkbuttons chVarDis = tk.IntVar() check1 = tk.Checkbutton(self.monty2, text="Disabled", variable=chVarDis, state='disabled') check1.select() check1.grid(column=0, row=0, sticky=tk.W) self.chVarUn = tk.IntVar() self.check2 = tk.Checkbutton(self.monty2, text="UnChecked", variable=self.chVarUn) self.check2.deselect() self.check2.grid(column=1, row=0, sticky=tk.W) self.chVarEn = tk.IntVar() self.check3 = tk.Checkbutton(self.monty2, text="Toggle", variable=self.chVarEn) self.check3.deselect() self.check3.grid(column=2, row=0, sticky=tk.W) # trace the state of the two checkbuttons self.chVarUn.trace( 'w', lambda unused0, unused1, unused2: self.checkCallback()) self.chVarEn.trace( 'w', lambda unused0, unused1, unused2: self.checkCallback()) # ~ Tab Control 2 refactoring ----------------------------------------- # Radiobutton list colors = ["Blue", "Gold", "Red"] self.radVar = tk.IntVar() # Selecting a non-existing index value for radVar self.radVar.set(99) # Creating all three Radiobutton widgets within one loop for col in range(3): curRad = 'rad' + str(col) curRad = tk.Radiobutton(self.monty2, text=colors[col], variable=self.radVar, value=col, command=self.radCall) curRad.grid(column=col, row=6, sticky=tk.W, columnspan=3) # And now adding tooltips tt.createToolTip(curRad, 'This is a Radiobutton control.') # Create a container to hold labels labelsFrame = ttk.LabelFrame(self.monty2, text=' Labels in a Frame ') labelsFrame.grid(column=0, row=7) # Place labels into the container element - vertically ttk.Label(labelsFrame, text="Label1").grid(column=0, row=0) ttk.Label(labelsFrame, text="Label2").grid(column=0, row=1) # Add some space around each label for child in labelsFrame.winfo_children(): child.grid_configure(padx=8) # Create Manage Files Frame ------------------------------------------------ mngFilesFrame = ttk.LabelFrame(tab2, text=' Manage Files: ') mngFilesFrame.grid(column=0, row=1, sticky='WE', padx=10, pady=5) # Button Callback def getFileName(): print('hello from getFileName') fDir = path.dirname(__file__) fName = fd.askopenfilename(parent=self.win, initialdir=fDir) print(fName) self.fileEntry.config(state='enabled') self.fileEntry.delete(0, tk.END) self.fileEntry.insert(0, fName) if len(fName) > self.entryLen: self.fileEntry.config(width=len(fName) + 3) # Add Widgets to Manage Files Frame lb = ttk.Button(mngFilesFrame, text="Browse to File...", command=getFileName) lb.grid(column=0, row=0, sticky=tk.W) #----------------------------------------------------- file = tk.StringVar() self.entryLen = scrolW - 4 self.fileEntry = ttk.Entry(mngFilesFrame, width=self.entryLen, textvariable=file) self.fileEntry.grid(column=1, row=0, sticky=tk.W) #----------------------------------------------------- logDir = tk.StringVar() self.netwEntry = ttk.Entry(mngFilesFrame, width=self.entryLen, textvariable=logDir) self.netwEntry.grid(column=1, row=1, sticky=tk.W) def copyFile(): import shutil src = self.fileEntry.get() file = src.split('/')[-1] dst = self.netwEntry.get() + '\\' + file try: shutil.copy(src, dst) mBox.showinfo('Copy File to Network', 'Succes: File copied.') except FileNotFoundError as err: mBox.showerror('Copy File to Network', '*** Failed to copy file! ***\n\n' + str(err)) except Exception as ex: mBox.showerror('Copy File to Network', '*** Failed to copy file! ***\n\n' + str(ex)) cb = ttk.Button(mngFilesFrame, text="Copy File To : ", command=copyFile) cb.grid(column=0, row=1, sticky=tk.E) # Add some space around each label for child in mngFilesFrame.winfo_children(): child.grid_configure(padx=6, pady=6) # Creating a Menu Bar ========================================================== menuBar = Menu(tab1) self.win.config(menu=menuBar) # Add menu items fileMenu = Menu(menuBar, tearoff=0) fileMenu.add_command(label="New") fileMenu.add_separator() fileMenu.add_command(label="Exit", command=self._quit) menuBar.add_cascade(label="File", menu=fileMenu) # Add another Menu to the Menu Bar and an item helpMenu = Menu(menuBar, tearoff=0) helpMenu.add_command(label="About") menuBar.add_cascade(label="Help", menu=helpMenu) # Change the main windows icon self.win.iconbitmap(r'C:\Python34\DLLs\pyc.ico') # Using tkinter Variable Classes strData = tk.StringVar() strData.set('Hello StringVar') # It is not necessary to create a tk.StringVar() strData = tk.StringVar() strData = self.spin.get() # Place cursor into name Entry # nameEntered.focus() # Set focus to Tab 2 # tabControl.select(1) # Add a Tooltip to the Spinbox tt.createToolTip(self.spin, 'This is a Spin control.') # Add Tooltips to more widgets tt.createToolTip(nameEntered, 'This is an Entry control.') tt.createToolTip(self.action, 'This is a Button control.') tt.createToolTip(self.scr, 'This is a ScrolledText control.')
# MASTER master = Tk() master.title('Sexy patchING generator') # print ('info') # INFO captions = ['Environment', 'Table', 'Action'] contents = [] for i in range(0, CONTENT_SIZE): contents.append(makeentry(master, captions[i], 'top', 100)) # print ('jira') # JIRA contents.append(makeentry(master, 'JIRA', 'top', 100)) # print ('sql') # SQL Label(master, text='SQL').pack(side='top') sqlBox = tkst.ScrolledText(master) sqlBox.pack(expand=1, side='top') sqlBox.config(width=100, height=10) # print ('button') #BUTTON b = Button(master, text="get", width=10, command=callback) b.pack() # print ('end') master.mainloop() # print ('rip')
rad2 = tk.Radiobutton(win, value=2, text=COLOR2, variable=radVar, command=radCall) rad2.grid(column=1, row=5) rad3 = tk.Radiobutton(win, value=3, text=COLOR3, variable=radVar, command=radCall) rad3.grid(column=2, row=5) #adding scrolledtext field scrolW = 30 scrolH = 3 scr = scrolledtext.ScrolledText(win, width=scrolW, height=scrolH) scr.grid(column=0, columnspan=3) #creating labels Laabel = ttk.LabelFrame(win, text='Labels') Laabel.grid(column=0, row=9, columnspan=3, padx=50, pady=30) '''(padx) and (pady) are the two functionalities that allow us to add horizontal and vertical padding that makes our GUI look fantastic''' ttk.Label(Laabel, text='Label1').grid(column=0, row=11) ttk.Label(Laabel, text='Label2').grid(column=0, row=13) ttk.Label(Laabel, text='Label3').grid(column=0, row=15) win.mainloop()
# Spinbox callback def _spin(): value = spin.get() print(value) scr.insert(tk.INSERT, value + '\n') # Adding a Spinbox widget #spin = Spinbox(monty, from_=0, to=100,width=5,bd=5,command=_spin) spin = Spinbox(monty, value=(1,2,40,64,80,128),width=5,relief=tk.GROOVE,bd=5,command=_spin) spin.grid(column=0, row=2,sticky='W') scrolW = 30 scrolH = 5 scr = scrolledtext.ScrolledText(monty, width=scrolW, height=scrolH, wrap=tk.WORD) scr.grid(column=0, sticky='WE', columnspan=3) colors = ["Blue", "Gold", "Red"] radVar2 = tk.IntVar() radVar2.set(99) def radCal1(): radSel = radVar2.get() if radSel == 0: win.configure(background=colors[0]) elif radSel == 1: win.configure(background=colors[1]) elif radSel == 2: win.configure(background=colors[2])
def main(): if Gapp.UsingPmw: Pmw.initialise() Gapp.balloon = Pmw.Balloon(Gapp.root) # --------- Create a standard MenuBar ---------------- mb = createMenuBar(Gapp.root) Gapp.root.columnconfigure(0, weight=1) Gapp.root.rowconfigure(0, weight=1) # ---------- Create Tree that display all the source backup files Gapp.treeViewWidget = ttk.Treeview(Gapp.root) vsb = ttk.Scrollbar(Gapp.root, orient="vertical", command=Gapp.treeViewWidget.yview) vsb.grid(row=0, column=1, sticky=N + S) Gapp.treeViewWidget.configure(yscrollcommand=vsb.set) columnNames = {'Target': 40, 'Mode': 12} # dictionary Gapp.treeViewWidget["columns"] = ("Target", "Mode") for name, colWidth in columnNames.items(): Gapp.treeViewWidget.column(name, width=colWidth) Gapp.treeViewWidget.heading(name, text=name) Gapp.treeViewWidget.heading('#0', text="Source") Gapp.treeViewWidget.grid(row=0, column=0, sticky=N + E + W + S) # Setup a couple of tags so that we can use a striped style for the rows # listed in the tree listing. Gapp.treeViewWidget.tag_configure('oddrow', background="white") Gapp.treeViewWidget.tag_configure('evenrow', background="lightblue") #Gapp.treeViewWidget.config(selectmode = 'browse') # this allows only one item to be selected at a time # ---------- Create a ScrolledText Log Window to display text fr2 = Frame(Gapp.root, height=22) Gapp.root.rowconfigure(1, weight=0) fr2.grid(row=1, column=0, sticky=W + E) fr2.rowconfigure(0, weight=1) fr2.columnconfigure(0, weight=1) Gapp.textWidget = scrolledtext.ScrolledText(fr2, height=8, wrap=WORD, state=DISABLED) Gapp.textWidget.grid(row=1, column=0, sticky=W + E + N + S) redir = RedirectText(Gapp.textWidget) Gapp.oldstdout = sys.stdout sys.stdout = redir # ---------- Create Application Button Widgets -------------------------- fr3 = Frame(Gapp.root) fr3.grid(row=2, column=0, sticky=W + E) buttonList = [ # Name action HelpText row# col# visible [ "Start Backup", "runBackup", "Begin the backup operation", 0, 0, NORMAL ], [ "Test Backup", "testBackup", "Do not really do the backups", 0, 1, NORMAL ], ["Stop Backup", "stopBackup", "Stop the backup job", 0, 2, DISABLED] ] for bdescrip in buttonList: createButtonBalloonWidget(fr3, bdescrip[0], bdescrip[1], bdescrip[2], rowvalue=bdescrip[3], columnvalue=bdescrip[4], statevalue=bdescrip[5]) # ---------- you can change sytle themes if you wish ---- # # NOTE: you can only change the style of widgets created with the # ttk. prefix (eg. ttk.Button and not just Button) # style = ttk.Style(Gapp.root) # get handle on the style object allThemes = style.theme_names() # get list of all available themes currentTheme = style.theme_use( ) # find out what our current theme is set to style.theme_use( 'default' ) # to change the theme (eg. "clam", "alt", "default", "classic") # exampleButton2.winfo_class() # to find out class name eg. TButton; only seems to work interactively ; need focus?? style.configure('TButton', foreground='blue') # to modify a themed widget style.configure('Treeview', background="#D3D3D3", foreground="black", rowheight=25, fieldbackground="#D3D3D3") style.map('Treeview', background=[('selected', 'blue')]) # Read the tool's configuration file. In there # it could mention the last backup input file to read. if os.path.exists(Gapp.configFileName): f = open(Gapp.configFileName, 'r') for line in f: line = line.rstrip() parts = line.split(" ") if parts[0] == "lastfile": Gapp.defaultBackupFile = parts[1] f.close() else: print("No config file located {}".format(Gapp.configFileName)) if Gapp.defaultBackupFile: if not os.path.exists(Gapp.defaultBackupFile): Gapp.defaultBackupFile = os.path.join(Gapp.basePath, Gapp.defaultBackupFile) ok = readBackupFile(Gapp.defaultBackupFile) print("Config File: {}".format(Gapp.configFileName)) populateGuiList() # --------- go into main graphics loop now Gapp.root.mainloop()
def _interface_init(self): """ 界面初始化 :return: """ # ##################################################### # Create base frame that is an instance. self.window = tk.Tk() self.window.title("视频爬虫") # Add a title self.window.resizable(0, 0) # Disable resizing the GUI self.window.protocol('WM_DELETE_WINDOW', self._close_window) # ##################################################### # Tab Control self.tabControl = tk.ttk.Notebook(self.window) # Create Tab Control self.tab_yidian = tk.ttk.Frame(self.tabControl) # Create a tab self.tabControl.add(self.tab_yidian, text='一点视频') # Add the tab self.tab_watermelon = tk.ttk.Frame( self.tabControl) # create the tab for the watermelon self.tabControl.add(self.tab_watermelon, text="西瓜视频") # add into the tab. # self.tab_first = tk.ttk.Frame(self.tabControl) # Create a tab # self.tabControl.add(self.tab_first, text='第一个') # Add the tab # # self.tab_xigua = ttk.Frame(self.tabControl) # Add a second tab # self.tabControl.add(self.tab_xigua, text='西瓜视频') # Make second tab visible # # self.tab_unknown = ttk.Frame(self.tabControl) # Add a third tab # self.tabControl.add(self.tab_unknown, text='未知') # Make second tab visible self.tabControl.pack(expand=1, fill="both") # Pack to make visible # ##################################################### # tab_yidian self.frame_method = ttk.LabelFrame(self.tab_yidian, text='方法设置') self.frame_method.grid(column=0, row=0, padx=4, pady=4) # three methods values = ["按类别爬取", "按用户爬取", "按地址爬取"] # # create three Radiobuttons using one variable self.yidian_method = tk.IntVar() # Selecting a non-existing index value for radVar self.yidian_method.set(0) tk.Radiobutton(self.frame_method, text=values[0], variable=self.yidian_method, value=0).grid(column=0, row=1, sticky=tk.W) tk.Radiobutton(self.frame_method, text=values[1], variable=self.yidian_method, value=1).grid(column=0, row=2, sticky=tk.W) # Adding a Combobox for category. ttk.Label(self.frame_method, text="类别:").grid(column=1, row=1, sticky='E', padx=10) self.cate = tk.StringVar() self.cateCombobox = ttk.Combobox(self.frame_method, width=12, textvariable=self.cate) self.cateCombobox['values'] = ('搞笑', '萌宠', '音乐', '综艺', '动物', '看欧美', '生活') self.cateCombobox.grid(column=2, row=1) self.cateCombobox.current(0) # 设置初始显示值,值为元组['values']的下标 self.cateCombobox.config(state='readonly') # 设为只读模式 # print(self.cateCombobox.grid) # add a user id text ttk.Label(self.frame_method, text="ID:").grid(column=1, row=2, sticky='E', padx=10) self.tk_uid = tk.StringVar() # Adding a Textbox Entry widget ttk.Entry(self.frame_method, width=12, textvariable=self.tk_uid) \ .grid(column=2, row=2, sticky='W') # # add a address bar # ttk.Label(self.frame_method, text="地址:").grid(column=1, row=3, sticky='E', padx=10) # self.addr = tk.StringVar() # # Adding a Textbox Entry widget # ttk.Entry(self.frame_method, width=30, textvariable=self.addr).grid(column=2, row=3, # sticky='W', columnspan=2) # Adding a Button tk.Button(self.frame_method, text="下载", width=15, height=3, command=self._yidian_download_pressed). \ grid(row=1, column=3, rowspan=2, sticky='E') # Using a scrolled Text control to display message. self.yd_scr = scrolledtext.ScrolledText(self.tab_yidian, width=50, height=25, wrap=tk.WORD) self.yd_scr.grid(column=0, row=4, sticky='WE', columnspan=4) self.yd_scr.configure(state='disabled') # ##################################################### # tab 2: watermelone self.frame_method_wm = ttk.LabelFrame(self.tab_watermelon, text='方法设置') self.frame_method_wm.grid(column=0, row=0, padx=4, pady=4) # three methods # # create three Radiobuttons using one variable self._wm_method = tk.IntVar() # Selecting a non-existing index value for radVar self._wm_method.set(0) tk.Radiobutton(self.frame_method_wm, text=values[0], variable=self._wm_method, value=0).grid(column=0, row=1, sticky=tk.W) tk.Radiobutton(self.frame_method_wm, text=values[1], variable=self._wm_method, value=1).grid(column=0, row=2, sticky=tk.W) # self.radio_method_2 = tk.Radiobutton(self.frame_method, text=values[2], variable=self.yidian_method, value=2) # self.radio_method_2.grid(column=0, row=3, sticky=tk.W) # Adding a Combobox for category. ttk.Label(self.frame_method_wm, text="类别:").grid(column=1, row=1, sticky='E', padx=10) self._wm_cate = tk.StringVar() self._tk_cateCombobox_wm = ttk.Combobox(self.frame_method_wm, width=12, textvariable=self._wm_cate) self._tk_cateCombobox_wm['values'] = ('音乐', '新农村', '体育', '爱生活', '美食', '游戏', '社会', '影视', '小视频', '推荐') self._tk_cateCombobox_wm.grid(column=2, row=1) self._tk_cateCombobox_wm.current(0) # 设置初始显示值,值为元组['values']的下标 self._tk_cateCombobox_wm.config(state='readonly') # 设为只读模式 # add a user id text entry. ttk.Label(self.frame_method_wm, text="ID:").grid(column=1, row=2, sticky='E', padx=10) self._tk_str_uid_wm = tk.StringVar() # Adding a Textbox Entry widget ttk.Entry(self.frame_method_wm, width=12, textvariable=self._tk_str_uid_wm) \ .grid(column=2, row=2, sticky='W') # add a address bar # ttk.Label(self.frame_method, text="地址:").grid(column=1, row=3, sticky='E', padx=10) # self.addr = tk.StringVar() # Adding a Textbox Entry widget # ttk.Entry(self.frame_method, width=30, textvariable=self.addr). \ # grid(column=2, row=3, sticky='W', columnspan=2) # Adding a Button tk.Button(self.frame_method_wm, text="下载", width=15, height=3, command=self._wm_download_pressed). \ grid(row=1, column=3, rowspan=2, sticky='E') # Using a scrolled Text control to display message. self._tk_wm_scr = scrolledtext.ScrolledText(self.tab_watermelon, width=50, height=25, wrap=tk.WORD) self._tk_wm_scr.grid(column=0, row=4, sticky='WE', columnspan=4) self._tk_wm_scr.configure(state='disabled') # ##################################################### # Creating a Menu Bar self.menuBar = Menu(self.window) self.window.config(menu=self.menuBar) # Add menu items setting_menu = Menu(self.menuBar, tearoff=0) setting_menu.add_command(label="时长", command=self._menu_setting_time_click) setting_menu.add_separator() self.menuBar.add_cascade(label="设置", menu=setting_menu) # ##################################################### # Change the main windows icon # win.iconbitmap(r'C:\Users\feng\Desktop\研.ico') # Place cursor into name Entry # self.nameEntered.focus() # ====================== # Start GUI # ====================== self.window.mainloop()
text="Fill out the information and click start to begin timer", font=("Arial Bold", 8)) # client combobox lbl_1 = Label(left_frame, text="Client:", font=("Arial Bold", 8)) combo_client = ttk.Combobox(left_frame, values=check.client_names) combo_client.current(0) #set the selected item # task entry box lbl_2 = Label(left_frame, text="Task:", font=("Arial Bold", 8)) combo_task = ttk.Combobox(left_frame, values=check.tasks_types) combo_task.current(0) #set the selected item # notes entry box lbl_3 = Label(left_frame, text="Notes:", font=("Arial Bold", 8)) notes = scrolledtext.ScrolledText(left_frame, width=30, height=6) ## layout widgets for the left frame lbl.grid(column=0, row=0, columnspan=2, pady=5) lbl_1.grid(column=0, row=1, pady=5) combo_client.grid(column=1, row=1, pady=5) lbl_2.grid(column=0, row=2, pady=5) combo_task.grid(column=1, row=2, pady=5) lbl_3.grid(column=0, row=3, pady=5) notes.grid(column=1, row=3, pady=5) ## create the widgets for the right frame list_refresh() # actionable buttons btn_5 = Button(right_frame,
root.resizable(0,0) root.configure(background="white") root.title("Text To Speak") # functions def speak(): engine = pyttsx3.init() audio_string = text.get('0.0',END) voices = engine.getProperty('voices') engine.setProperty('voice', voices[1].id) engine.say(audio_string) engine.runAndWait() engine.stop() def save_audio(): engine = pyttsx3.init() audio_string = text.get('0.0',END) engine.save_to_file(audio_string,'test.mp3') engine.runAndWait() engine.stop() showinfo("python says","audio is saved as text.mp3") # root widgets text = scrolledtext.ScrolledText(root,width=30,height=10,wrap=WORD,padx=10,pady=10,borderwidth=5,relief=RIDGE) text.grid(row=0,columnspan=3) #buttons ttk.Button(root,text="Listen",width=7,command=speak).grid(row=2,column=0,ipadx=2) ttk.Button(root,text="Clear",width=7,command=lambda:text.delete('0.0',END)).grid(row=2,column=1,ipadx=2) ttk.Button(root,text="Save",width=7,command=save_audio).grid(row=2,column=2,ipadx=2) root.mainloop()
title_baud = Label(frame_config_com,text="Baudrate:",bg='snow2') title_baud.pack() title_baud.place(x=4,y=89) #Menu print Serial data frame_show_data = Frame(main, width='599',height='399',relief='groove',borderwidth=1) frame_show_data.pack(pady="10",padx="4") frame_show_data.place(x=200,y=0) frame_show_data.configure(background="snow2") title_data = Label(frame_show_data,text="Serial Data",bg='snow2') title_data.pack() title_data.place(x=280,y=0) #sous menu print Serial data scroll_input_data = st.ScrolledText(master=frame_show_data,width=72,height=23,relief='flat',borderwidth=1) scroll_input_data.pack() scroll_input_data.place(x=3,y=20) def ReceivedData(message): global str_message str_message = message.decode("utf-8") scroll_input_data.insert('1.0',str_message) liste.append(str_message) serialPort.startThread(ReceivedData) def actualisation():
filterClass.minimize() postsFilter.minimize() # User has restored the window def restoreEvent(event): if (str(event.widget) == '.'): if (tk_root.winfo_viewable()): filterClass.restore() postsFilter.restore() tk_root = tk.Tk() tk_root.title("Danbooru Tag Browser") tk_root.minsize(600,400) # Image info box info=tkst.ScrolledText(tk_root,width=30) pict=Label(tk_root, text=' ',relief=SUNKEN) pict.bind("<Configure>", pictresize) # image count and buttons imageCount=Label(tk_root,text=' ', justify=RIGHT) btnPrev = Button(tk_root, text='Prev', command=prevImage) btnNext = Button(tk_root, text='Next', command=nextImage) btnDel = Button(tk_root, text='Delete', command=delImage) pict.grid(row=0,column=2,sticky=NSEW,rowspan=4) info.grid(row=0,column=0,columnspan=2,sticky=NSEW) imageCount.grid(row=1,column=0,sticky=E) btnPrev.grid(row=2,column=0,sticky=E) btnNext.grid(row=2,column=1,sticky=W) btnDel.grid(row=3,column=0,sticky=W)
def tab_two_widgets(parent, width=78, height=21): text = read_url() scroll = scrolledtext.ScrolledText(parent, width=width, height=height, wrap=tk.WORD) scroll.insert(tk.INSERT, text) scroll.grid(column=0, row=0, padx=8, pady=2)
txt = sendtext.get() if txt == "": return print("hitted enter : ", txt) sendtext.delete(0, len(txt)) logArea.configure(state='normal') logArea.insert(END, txt + "<<-Me\n", ("centered", )) logArea.tag_configure("centered", justify="right") # logArea.insert(END, txt+"<<-Me\n",("cent",)) # logArea.tag_configure("cent", justify="left") logArea.configure(state='disabled') logArea.see(END) root = Tk() root.title(' Chat template') logArea = scrolledtext.ScrolledText(root, wrap=WORD, state="disabled", name="logArea") logArea.grid(padx=10, pady=10, row=0, column=0, columnspan=2) pro = Label(root, text="Me ->>") pro.grid(row=2, column=0) sendtext = Entry(root, width=80) sendtext.focus_set() sendtext.bind(sequence="<Return>", func=show) sendtext.grid(row=2, column=1) root.mainloop()
def __init__(self, parent, controller): tk.Frame.__init__(self, parent) header_font = font.Font(family='Times New Roman', size=16, weight='bold') text_font = font.Font(family='Times New Roman', size=12) self.ecc_label = tk.Label(self, text="Elliptic Curve Cryptography") self.ecc_label["font"] = header_font self.ecc_label.pack(padx=10) self.ecc_label.configure(bg="LightSkyBlue2") self.curve_label = tk.Label(self, text="E: y^2 = x^3 - 8x + 31 mod 65629") self.curve_label.pack(pady=5) self.curve_label.configure(bg="LightSkyBlue2") ecc_tabs = ttk.Notebook(self) # ECC ENCRYPTION TAB self.ecc_enc_tab = tk.Frame(ecc_tabs) self.ecc_enc_tab.configure(bg="LightSkyBlue2") self.input_text_button_enc = tk.Button(self.ecc_enc_tab, text='Input Text', command=lambda: self.input_text( ecc_tabs.tab(ecc_tabs.select(), "text"))) self.input_text_button_enc.grid(sticky="NSEW", row=0, column=0, columnspan=4, padx=20, pady=5) self.save_text_button_enc = tk.Button(self.ecc_enc_tab, text='Save Text', command=lambda: self.save_text( ecc_tabs.tab(ecc_tabs.select(), "text"))) self.save_text_button_enc.grid(sticky="NSEW", row=0, column=4, columnspan=4, padx=20, pady=5) self.ecc_enc_plaintextArea = scrolledtext.ScrolledText(self.ecc_enc_tab) self.ecc_enc_plaintextArea.configure(font=text_font, width=40, height=15, padx=10) self.ecc_enc_plaintextArea.grid(row=1, column=0, rowspan=5, columnspan=4, padx=20, pady=5) self.ecc_enc_ciphertextArea = scrolledtext.ScrolledText(self.ecc_enc_tab) self.ecc_enc_ciphertextArea.configure(font=text_font, width=40, height=15, padx=10) self.ecc_enc_ciphertextArea.grid(row=1, column=4, rowspan=5, columnspan=4, padx=20, pady=5) self.ecc_enc_key_label = tk.Label(self.ecc_enc_tab, text="Key") self.ecc_enc_key_label.grid(sticky="E", row=7, column=0) self.ecc_enc_key_label.configure(bg="LightSkyBlue2") self.ecc_priv_key = tk.IntVar() self.ecc_priv_key_entry = tk.Entry(self.ecc_enc_tab, textvariable=self.ecc_priv_key, show="*", width=10) self.ecc_priv_key_entry.delete("0", tk.END) self.ecc_priv_key_entry.grid(sticky="NSEW", row=7, column=1, padx=5, pady=5) self.ecc_priv_key_entry["state"] = "disabled" self.ecc_enc_key_tooltip = tk.Label(self.ecc_enc_tab, text='?') self.ecc_enc_key_tooltip['font'] = text_font self.ecc_enc_key_tooltip.grid(sticky="W", row=7, column=2, padx=5, pady=5) self.ecc_enc_key_tooltip.configure(bg="LightSkyBlue2") self.label_enc_tooltip = CreateToolTip(self.ecc_enc_key_tooltip, "Key must filled with integer.\n" "Integer must be greater than 0\n" "and less than 65538.\n" "Encryption and Decryption\n" "use same key.") self.show_icon = tk.PhotoImage(file=utilities.resource_path("img/show.png")) self.hide_icon = tk.PhotoImage(file=utilities.resource_path("img/hide.png")) self.ecc_enc_key_button = tk.Button(self.ecc_enc_tab, image=self.show_icon, command=lambda: self.show_hide_key( ecc_tabs.tab(ecc_tabs.select(), "text"))) self.ecc_enc_key_button.configure(width=20, height=20, background='gray90') self.ecc_enc_key_button.grid(sticky="W", row=7, column=3, padx=5, pady=5) self.ecc_enc_key_button["state"] = "disabled" self.ecc_encrypt_button = tk.Button(self.ecc_enc_tab, text='Encrypt', command=lambda: self.ecc_encrypt( self.ecc_enc_plaintextArea.get("1.0", tk.END), ecc_class.random_k, self.ecc_priv_key.get(), ecc_class.random_index)) # self.ecc_encrypt_button = tk.Button(self.ecc_enc_tab, text='Encrypt', # command=lambda: self.ecc_encrypt( # self.ecc_enc_plaintextArea.get("1.0", tk.END), # 5443, self.ecc_priv_key.get(), # 37347)) self.ecc_encrypt_button.grid(sticky="NSEW", row=8, column=1, padx=5, pady=5) self.ecc_encrypt_button["state"] = "disabled" # ECC DECRYPTION TAB self.ecc_dec_tab = tk.Frame(ecc_tabs) self.ecc_dec_tab.configure(bg="LightSkyBlue2") self.input_text_button_dec = tk.Button(self.ecc_dec_tab, text='Input Text', command=lambda: self.input_text( ecc_tabs.tab(ecc_tabs.select(), "text"))) self.input_text_button_dec.grid(sticky="NSEW", row=0, column=0, columnspan=4, padx=20, pady=5) self.save_text_button_dec = tk.Button(self.ecc_dec_tab, text='Save Text', command=lambda: self.save_text( ecc_tabs.tab(ecc_tabs.select(), "text"))) self.save_text_button_dec.grid(sticky="NSEW", row=0, column=4, columnspan=4, padx=20, pady=5) self.ecc_dec_plaintextArea = scrolledtext.ScrolledText(self.ecc_dec_tab) self.ecc_dec_plaintextArea.configure(font=text_font, width=40, height=15, padx=10) self.ecc_dec_plaintextArea.grid(row=1, column=0, rowspan=5, columnspan=4, padx=20, pady=5) self.ecc_dec_deciphertextArea = scrolledtext.ScrolledText(self.ecc_dec_tab) self.ecc_dec_deciphertextArea.configure(font=text_font, width=40, height=15, padx=10) self.ecc_dec_deciphertextArea.grid(row=1, column=4, rowspan=5, columnspan=4, padx=20, pady=5) self.ecc_dec_key_label = tk.Label(self.ecc_dec_tab, text="Key") self.ecc_dec_key_label.grid(sticky="E", row=7, column=0) self.ecc_dec_key_label.configure(bg="LightSkyBlue2") self.ecc_dec_priv_key = tk.IntVar() self.ecc_dec_priv_key_entry = tk.Entry(self.ecc_dec_tab, textvariable=self.ecc_dec_priv_key, show="*", width=10) self.ecc_dec_priv_key_entry.delete("0", tk.END) self.ecc_dec_priv_key_entry.grid(sticky="NSEW", row=7, column=1, padx=5, pady=5) self.ecc_dec_priv_key_entry["state"] = "disabled" self.ecc_dec_key_tooltip = tk.Label(self.ecc_dec_tab, text='?') self.ecc_dec_key_tooltip['font'] = text_font self.ecc_dec_key_tooltip.grid(sticky="W", row=7, column=2, padx=5, pady=5) self.ecc_dec_key_tooltip.configure(bg="LightSkyBlue2") self.label_dec_tooltip = CreateToolTip(self.ecc_dec_key_tooltip, "Key must filled with integer.\n" "Integer must be greater than 0\n" "and less than 65538.\n" "Encryption and Decryption\n" "use same key.") self.ecc_dec_key_button = tk.Button(self.ecc_dec_tab, image=self.show_icon, command= lambda: self.show_hide_key( ecc_tabs.tab(ecc_tabs.select(), "text"))) self.ecc_dec_key_button.configure(width=20, height=20, background='gray90') self.ecc_dec_key_button.grid(sticky="W", row=7, column=3, padx=5, pady=5) self.ecc_dec_key_button["state"] = "disabled" self.ecc_decrypt_button = tk.Button(self.ecc_dec_tab, text='Decrypt', command=lambda: self.ecc_decrypt( self.ecc_dec_plaintextArea.get("1.0", tk.END), ecc_class.random_k, self.ecc_dec_priv_key.get(), ecc_class.random_index)) # self.ecc_decrypt_button = tk.Button(self.ecc_dec_tab, text='Decrypt', # command=lambda: self.ecc_decrypt( # self.ecc_dec_plaintextArea.get("1.0", tk.END), # 5443, self.ecc_dec_priv_key.get(), # 37347)) self.ecc_decrypt_button.grid(sticky="NSEW", row=8, column=1, padx=5, pady=5) self.ecc_decrypt_button["state"] = "disabled" ecc_tabs.add(self.ecc_enc_tab, text='Encryption') ecc_tabs.add(self.ecc_dec_tab, text='Decryption') ecc_tabs.pack(anchor=tk.S)