def ScrolledText(self): self.ti = ScrolledText(self.top, width=95, height=24, background='#ffffff') self.ti.place(x=10, y=180)
from tkinter import * from tkinter.scrolledtext import ScrolledText root = Tk() box = ScrolledText(root, width=15) box.pack() for i in range(20): frame = Frame() label = Label(frame, text=f"item {i}") label.pack(side=LEFT) button = Button(frame, text="click") button.pack(side=LEFT) box.window_create(END, window=frame) box.insert(END, '\n') root.mainloop()
def __init__(self): super().__init__() self.title("Untitled - Vulgar") self.geometry('800x600') self.menuBar = Menu(self) self.FileMenu = Menu(self.menuBar, tearoff = 0) self.EditMenu = Menu(self.menuBar, tearoff = 0) self.RunMenu = Menu(self.menuBar, tearoff = 0) self.HelpMenu = Menu(self.menuBar, tearoff = 0) self.ConfigMenu = Menu(self.menuBar, tearoff = 0) self.window_title = "Code " self.tabControl = ttk.Notebook(self) self.tab1 = Frame(self.tabControl) self.tab2 = Frame(self.tabControl) self.tabControl.add(self.tab1, text = self.window_title) self.tabControl.add(self.tab2, text = "Console") self.tabControl.pack(expand = 1, fill = BOTH) self.line_num = Canvas(self.tab1, width = 50, bg = "black") self.textArea = ScrolledText(self.tab1,background = "black", foreground = "white", insertbackground = "white", wrap = WORD, width = 93, height = 90) self.View = ScrolledText(self.tab2, background = "black", foreground = "white", insertbackground = "white", wrap = WORD, width = 93, height = 90) self.scroll = Scrollbar(self.textArea) self.file = None self.grid_rowconfigure(0, weight = 1) self.grid_columnconfigure(0, weight = 1) self.FileMenu.add_command(label = "New File Ctrl+N", command = self.newFile) self.FileMenu.add_command(label = "Open... Ctrl+O", command = self.openFile) self.FileMenu.add_command(label = "Save Ctrl+S", command = self.saveFile) self.FileMenu.add_command(label = "Save As... Ctrl+Shift+S", command = self.SaveAs) self.FileMenu.add_command(label = "Exit Ctrl+Q", command = self._quit_) self.HelpMenu.add_command(label = "About ", command = self.ShowAbout) self.HelpMenu.add_command(label = "How to use", command = None) self.EditMenu.add_command(label = "undo Ctrl+Z", command = self.undo) self.EditMenu.add_command(label = "redo Ctrl+Y", command = self.redo) self.EditMenu.add_command(label = "Copy Ctrl+C", command = self.copy) self.EditMenu.add_command(label = "Cut Ctrl+X", command = self.cut) self.EditMenu.add_command(label = "Paste Ctrl+V", command = self.paste) self.EditMenu.add_command(label = "Select All Ctrl+A", command = None) self.ConfigMenu.add_command(label = "Set background color", command = self.Setbg) self.ConfigMenu.add_command(label = "Set text color", command = self.Setfg) self.ConfigMenu.add_command(label = "Set cursor color", command = self.SetCurs) self.RunMenu.add_command(label = "Run code F5", command = self.Run) self.menuBar.add_cascade(label = "File", menu = self.FileMenu) self.menuBar.add_cascade(label = "Edit", menu = self.EditMenu) self.menuBar.add_cascade(label = "Run", menu = self.RunMenu) self.menuBar.add_cascade(label = "Configure IDE", menu = self.ConfigMenu) self.menuBar.add_cascade(label = "Help", menu = self.HelpMenu) self.config(menu = self.menuBar) self.line_num.pack(side=LEFT, fill = Y) #self.textArea.pack(side = RIGHT, fill = "both") self.textArea.place(x = 35) self.bind("<F5>", lambda x:self.Run()) self.textArea.bind('<Return>', lambda x:self.update_line_nums(x)) #bind update_line_nums to textArea here self.View.pack() self.text = "Vulgar - console >>>" self.View.insert(0.0, self.text) self.View.config(state = DISABLED) self.update_line_nums()
window.resizable(False, False) # window.config(bg="#7F7F7F") # Keyboard Input window.bind('<Left>', ButtonFunc.onArrowLeft) window.bind('<Right>', ButtonFunc.onArrowRight) window.bind('<Return>', ButtonFunc.onEnter) window.bind('<space>', ButtonFunc.onSpaceBar) window.bind('a', ButtonFunc.onAcceleration) window.bind('d', ButtonFunc.onDeceleration) window.focus() # Keyboard Input End right_frame = Frame(window, bg='light grey') right_frame.grid(row=0, column=1, sticky="nsew") st = ScrolledText(right_frame, state='disabled') st.configure(font='TkFixedFont') st.grid(row=0, column=0, sticky=NE + SE, padx=5, pady=1) # Create textLogger text_handler = TextHandler(st) logging.getLogger().setLevel(logging.INFO) logging.basicConfig( format= '%(asctime)s - %(name)s - %(threadName)s - %(levelname)s - %(message)s' ) # coloredlogs.install(level='DEBUG', logger=logger) logger.addHandler(text_handler) logger.critical("Log_data") app = hyperloop_control(master=window) window.mainloop()
'v2game.exe', 'remove_target_paths': [ 'd3d9.dll', 'plugins', 'pattern_ck2jps.log', 'README.md', '.dist.v1.json', 'claes.exe', 'claes.key', 'claes.cache' ] }])), height='1', font=("Helvetica", 12)) uninstall_button_vic2.pack(expand=True, fill='both') logger.info('mainloop') # ログエリア frame1_4 = tkinter.Frame(tab4, pady=0) frame1_4.pack(expand=True, fill='both') log_area = ScrolledText(frame1_4, state='disabled', height=12) log_area.configure(font='TkFixedFont') log_area.tag_config('INFO', foreground='black') log_area.tag_config('DEBUG', foreground='gray') log_area.tag_config('WARNING', foreground='orange') log_area.tag_config('ERROR', foreground='red') log_area.tag_config('CRITICAL', foreground='red', underline=1) log_area.pack(expand=True, fill='both') def display_log(record): msg = queue_handler.format(record) log_area.configure(state='normal') log_area.insert(tkinter.END, msg + '\n', record.levelname) log_area.configure(state='disabled') # Autoscroll to the bottom
def send(name): IP = '127.0.0.1' PORT = 9001 user = name listbox1 = '' # 用于显示在线用户的列表框 ii = 0 # 用于判断是开还是关闭列表框 users = [] # 在线用户列表 chat = '----------群聊----------' # 聊天对象, 默认为群聊 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((IP, PORT)) if user: s.send(user.encode()) # 发送用户名 else: s.send('no'.encode()) # 没有输入用户名则标记no # 如果没有用户名则将ip和端口号设置为用户名 addr = s.getsockname() # 获取客户端ip和端口号 addr = addr[0] + ':' + str(addr[1]) if user == '': user = addr ## 聊天窗口 # 创建图形界面 root = tkinter.Tk() root.title(user) # 窗口命名为用户名 root['height'] = 390 root['width'] = 580 root.resizable(0, 0) # 限制窗口大小 # 创建多行文本框 listbox = ScrolledText(root) listbox.place(x=5, y=0, width=570, height=320) # 文本框使用的字体颜色 listbox.tag_config('red', foreground='red') listbox.tag_config('blue', foreground='blue') listbox.tag_config('green', foreground='green') listbox.insert(tkinter.END, '欢迎进入聊天室!', 'blue') def express(): pass # 创建表情按钮 eBut = tkinter.Button(root, text='表情', command=express) eBut.place(x=5, y=320, width=60, height=30) def picture(): pass # 创建发送图片按钮 pBut = tkinter.Button(root, text='图片', command=picture) pBut.place(x=65, y=320, width=60, height=30) def shot(): pass # 创建截屏按钮 sBut = tkinter.Button(root, text='截屏', command=shot) sBut.place(x=125, y=320, width=60, height=30) def file(): pass # 创建文件按钮 fBut = tkinter.Button(root, text='文件', command=file) fBut.place(x=185, y=320, width=60, height=30) # 创建多行文本框, 显示在线用户 listbox1 = tkinter.Listbox(root) listbox1.place(x=445, y=0, width=130, height=320) def users_online(): nonlocal listbox1, ii if ii == 1: listbox1.place(x=445, y=0, width=130, height=320) ii = 0 else: listbox1.place_forget() # 隐藏控件 ii = 1 # 查看在线用户按钮 button1 = tkinter.Button(root, text='在线用户', command=users_online) button1.place(x=505, y=320, width=70, height=30) # 创建输入文本框和关联变量 a = tkinter.StringVar() a.set('') entry = tkinter.Entry(root, width=120, textvariable=a) entry.place(x=5, y=348, width=570, height=40) def send_msg(*args): # 没有添加的话发送信息时会提示没有聊天对象 users.append('----------群聊----------') if chat not in users: tkinter.messagebox.showerror('发送失败', message='没有聊天对象!') return if chat == user: tkinter.messagebox.showerror('发送失败', message='不能私聊自己!') return mes = entry.get() + ':;' + user + ':;' + chat # 添加聊天对象标记 print(mes) s.send(mes.encode()) a.set('') # 发送后清空文本框 # 创建发送按钮 button = tkinter.Button(root, text='发送', command=send_msg) button.place(x=515, y=353, width=60, height=30) root.bind('<Return>', send) # 绑定回车发送信息 def private(*args): nonlocal chat # 获取点击的索引然后得到内容(用户名) indexs = listbox1.curselection() index = indexs[0] chat = listbox1.get(index) # 修改客户端名称 if chat == '----------群聊----------': root.title(user) return ti = user + ' --> ' + chat root.title(ti) # 在显示用户列表框上设置绑定事件 listbox1.bind('<ButtonRelease-1>', private) # 用于时刻接收服务端发送的信息并打印, def recv(): nonlocal users while True: data = s.recv(1024) data = data.decode() # 没有捕获到异常则表示接收到的是在线用户列表 try: data = json.loads(data) users = data listbox1.delete(0, tkinter.END) # 清空列表框 number = (' 在线人数: ' + str(len(data)) + ' 人') listbox1.insert(tkinter.END, number) listbox1.itemconfig(tkinter.END, fg='green', bg="#f0f0ff") listbox1.insert(tkinter.END, '----------群聊----------') listbox1.itemconfig(tkinter.END, fg='green') for i in range(len(data)): listbox1.insert(tkinter.END, (data[i])) listbox1.itemconfig(tkinter.END, fg='green') except: data = data.split(':;') data1 = data[0].strip() # 消息 data2 = data[1] # 发送信息的用户名 data3 = data[2] # 聊天对象 data1 = '\n' + data1 if data3 == '----------群聊----------': u = data1.split(':')[0] # 截取消息中的用户名 if u == '\n' + user: # 如果是自己则将则字体变为蓝色 listbox.insert(tkinter.END, data1, 'blue') else: listbox.insert(tkinter.END, data1, 'green') # END将信息加在最后一行 elif data2 == user or data3 == user: # 显示私聊 listbox.insert(tkinter.END, data1, 'red') # END将信息加在最后一行 listbox.see(tkinter.END) # 显示在最后 r = threading.Thread(target=recv) r.start() # 开始线程接收信息 root.mainloop() s.close() # 关闭图形界面后关闭TCP连接
def __init__(self, parent=None, filename=None): from .core import Table self.parent = parent self.filename = filename self.df = None self.main = Toplevel() self.master = self.main self.main.title('Text Import') self.main.protocol("WM_DELETE_WINDOW", self.quit) self.main.grab_set() self.main.transient(parent) delimiters = [',','\t',' ',';','/','&','|','^','+','-'] encodings = ['utf-8','ascii','iso8859_15','cp037','cp1252','big5','euc_jp'] grps = {'formats':['delimiter','decimal','comment'], 'data':['header','skiprows','index_col','skipinitialspace', 'skip_blank_lines','parse_dates','encoding','names'], 'other':['rowsperfile']} grps = OrderedDict(sorted(grps.items())) opts = self.opts = {'delimiter':{'type':'combobox','default':',', 'items':delimiters, 'tooltip':'seperator'}, 'header':{'type':'entry','default':0,'label':'header', 'tooltip':'position of column header'}, 'index_col':{'type':'entry','default':'','label':'index col', 'tooltip':''}, 'decimal':{'type':'combobox','default':'.','items':['.',','], 'tooltip':'decimal point symbol'}, 'comment':{'type':'entry','default':'#','label':'comment', 'tooltip':'comment symbol'}, 'skipinitialspace':{'type':'checkbutton','default':0,'label':'skip initial space', 'tooltip':'skip initial space'}, 'skiprows':{'type':'entry','default':0,'label':'skiprows', 'tooltip':'rows to skip'}, 'skip_blank_lines': {'type':'checkbutton','default':0,'label':'skip blank lines', 'tooltip':'do not use blank lines'}, 'parse_dates': {'type':'checkbutton','default':1,'label':'parse dates', 'tooltip':'try to parse date/time columns'}, 'encoding':{'type':'combobox','default':'utf-8','items':encodings, 'tooltip':'file encoding'}, #'prefix':{'type':'entry','default':None,'label':'prefix', # 'tooltip':''} 'rowsperfile':{'type':'entry','default':'','label':'rows per file', 'tooltip':'rows to read'}, 'names':{'type':'entry','default':'','label':'column names', 'tooltip':'col labels'}, } bf = Frame(self.main) bf.pack(side=LEFT,fill=BOTH) optsframe, self.tkvars, w = dialogFromOptions(bf, opts, grps, sticky='nwe', layout='vertical') self.m = PanedWindow(self.main, orient=VERTICAL) self.m.pack(side=LEFT,fill=BOTH,expand=1) self.textpreview = ScrolledText(self.main, width=100, height=10, bg='white') self.m.add(self.textpreview, weight=3) tf = Frame(self.main) self.m.add(tf, weight=1) self.previewtable = Table(tf,rows=0,columns=0) self.previewtable.show() self.update() optsframe.pack(side=TOP,fill=BOTH) b = Button(bf, text="Update preview", command=self.update) b.pack(side=TOP,fill=X,pady=2) b = Button(bf, text="Import", command=self.doImport) b.pack(side=TOP,fill=X,pady=2) b = Button(bf, text="Cancel", command=self.quit) b.pack(side=TOP,fill=X,pady=2) self.main.wait_window() return
def __init__(self): self.window = Tk() self.window.title("APRS Messaging for JS8Call") self.window.geometry('350x200+300+300') self.combo = Combobox(self.window, state='readonly') self.combo.bind('<<ComboboxSelected>>', self.comboChange) self.combo['values'] = ("Email", "SMS", "APRS") self.combo.current(0) #set the selected item self.combo.grid(column=0, row=0, columnspan=2) self.lbl1 = Label(self.window, text="JS8Call Mode", justify="left") self.lbl1.grid(column=0, row=1, columnspan=2) self.combo2 = Combobox(self.window, state='readonly') self.combo2['values'] = ("Normal") self.combo2.current(0) #set the selected item self.combo2.grid(column=0, row=2, columnspan=2) self.callLbl = Label(self.window, text="Enter Email Address", justify="left") self.callLbl.grid(column=0, row=3, columnspan=2) self.tocall = Entry(self.window, width=30) self.tocall.grid(column=0, row=4, columnspan=2) self.msgLabel = Label(self.window, text="Message Text", justify="left") self.msgLabel.grid(column=0, row=5, columnspan=2) self.st = ScrolledText(self.window, height=5, width=40) self.st.grid(row=6, column=0, columnspan=2) self.btn = Button(self.window, text="Set JS8Call Text", command=self.setMessage) self.btn.grid(column=0, row=9) self.btn2 = Button(self.window, text="TX With JS8Call", command=self.txMessage) self.btn2.grid(column=1, row=9) self.note1label = Label( self.window, text="Click Set JS8Call text to set the message text in JS8Call", justify="center", wraplength=300) self.note1label.grid(column=0, row=10, columnspan=2) self.note1label = Label( self.window, text= "Click TX with JS8Call to set the message text in JS8Call and start transmitting", justify="center", wraplength=300) self.note1label.grid(column=0, row=11, columnspan=2) self.window.geometry("350x350+300+300") self.window.mainloop()
val = StringVar() entryVal = Entry(frame1, bd=5, width=40, textvariable=val) label1.pack(side=LEFT) entryVal.pack(side=LEFT) frame2 = Frame(window) frame2.pack() bt1 = Button(frame2, text="查找", font=('Arial', 16), width=16, bg='MintCream', command=run) bt1.pack() frame3 = Frame(window) frame3.pack() text1 = ScrolledText(frame3, width=80, height=10) text1.pack() frame4 = Frame(window) frame4.pack() text2 = ScrolledText(frame4, width=80, height=10) text2.pack() frame = Frame(window) frame.pack() frame = Frame(window) frame.pack() bt = Button(frame, text="查看更多", font=('Arial', 16), width=16, bg='MintCream', command=b)
def editInput(self, root): tk.Label(root, text="Code:").grid(row=1, column=0) self.inputCode = ScrolledText(root, height=7,width=50) self.inputCode.insert(tk.END, self.data['code']) self.inputCode.grid(row=1, column=1,columnspan=2)
def create_widgets(self): """ Code to generate the UI """ # Frame for Mode toggles and IP/Port self.fr_modes = tk.Frame(self) self.fr_modes.pack() # Mode Toggle Button self.bt_toggle = tk.Button(master=self.fr_modes, text='Toggle Mode', command=self.toggle_mode) self.bt_toggle.pack(side='left') # Mode Text UI self.lbl_mode = tk.Label(master=self.fr_modes, textvariable=self.str_mode) self.lbl_mode.config(bg=root.cget('bg'), width=15, height=1) self.lbl_mode.pack(side='left') # IP Config self.lbl_ip = tk.Label(master=self.fr_modes, text='IP: ') self.lbl_ip.pack(side='left') self.txt_ip = tk.Text(master=self.fr_modes) self.txt_ip.config(width=15, height=1) self.txt_ip.pack(side='left') # Port Config self.lbl_port = tk.Label(master=self.fr_modes, text='Port: ') self.lbl_port.pack(side='left') self.txt_port = tk.Text(master=self.fr_modes) self.txt_port.config(width=15, height=1) self.txt_port.pack(side='left') self.btn_client_connect = tk.Button(master=self.fr_modes, text='Connect to Server', fg='green', command=self.client_connect, height=1, width=15) self.btn_client_connect.pack() # Since client is default, don't add the server button self.btn_server_start = tk.Button(master=self.fr_modes, text='Start Server', fg='green', command=self.server_start, height=1, width=15) # Textmessage boxes self.fr_msg_boxes = tk.Frame(self) self.fr_msg_boxes.pack() # Shared secret key self.lbl_secret_key = tk.Label(master=self.fr_msg_boxes, text='Shared Secret Key:') self.lbl_secret_key.pack(side="left") self.txt_secret_key = Text(master=self.fr_msg_boxes) self.txt_secret_key.config(width=80, height=1) self.txt_secret_key.pack(side="left") # TODO: Default secret key, remove self.txt_secret_key.insert('end-1c', 'abc') # frame for data to be send self.fr_data = tk.Frame(self) self.fr_data.pack() # Data to be sent self.lbl_sent = tk.Label(master=self.fr_data, text='Data to be Sent:') self.lbl_sent.pack() self.txt_sent = ScrolledText(master=self.fr_data) self.txt_sent.config(width=100, height=4) self.txt_sent.pack() # Send Button self.send_button = tk.Button(master=self.fr_data, text='SEND', fg='green', command=self.send_message) self.send_button.place(rely=2.0, relx=2.0, x=0, y=0, anchor=tk.SE) self.send_button.pack() # Data Recieved self.lbl_received = tk.Label(master=self.fr_data, text='Data Received:') self.lbl_received.pack() self.txt_received = ScrolledText(master=self.fr_data, state='disabled') self.txt_received.config(width=100, height=4) self.txt_received.pack() # Step by Step Frame self.fr_step = tk.Frame(self) self.fr_step.pack() # Step by step data self.lbl_log = tk.Label(master=self.fr_step, text='Encryption logging') self.lbl_log.pack() self.txt_log = ScrolledText(master=self.fr_step) self.txt_log.config(width=100, height=25, bg=root['bg'], state='normal') self.txt_log.pack() self.text_handler = text_handler.TextHandler(self.txt_log) # Logging configuration logging.basicConfig(filename='test.log', level=logging.INFO, format='%(levelname)s - %(message)s') # Add the handler to logger logger = logging.getLogger() logger.addHandler(self.text_handler) # Debug Toggle Button self.debug_button_txt = tk.StringVar() self.debug_button_txt.set("Debug Mode ON") self.btn_debug_toggle = tk.Button(master=self.fr_step, textvariable=self.debug_button_txt, command=self.toggle_debug) self.btn_debug_toggle.pack(side='top') # Debug Continue Button self.debug_continue_button = tk.Button(master=self.fr_step, text='Continue', command=self.step) self.debug_continue_button.pack(side='top') self.debug_continue_button.config(state='normal') # Gimpy hack to push the quit button downwards self.fr_space = tk.Frame(self) self.fr_space.config(height = 50) self.fr_space.pack() # End Me self.quit = tk.Button(self, text='QUIT', fg='red', command=lambda:self.program_quit(root), height=1, width=15) self.quit.place(anchor=tk.SE) self.quit.pack(side="top")#, fill='both', expand=True, padx=4, pady=4) # Gimpy hack to get some space below the button self.fr_space2 = tk.Frame(self) self.fr_space2.config(height = 20) self.fr_space2.pack()
def main(): def download_button_click(): end = end_value.get() start = start_value.get() path = path_value.get() if end.isdigit() and start.isdigit(): end = int(end) start = int(start) if end > start: sct.emit("Information------\n" + "{:>10} : {:<5}\n".format("Start", start) + "{:>10} : {:<5}\n".format("End", end) + "{:>10} : {}\n".format("Path", path)) # print(sct) download_start(start, end, path) sct.emit("[Finish] {} - {} \n Filepath: {}\n".format( start, end, path)) else: sct.emit("[ERROR] end should bigger than start\n") else: sct.emit("[ERROR] start or end id isn't a digital number\n") root = Tk() app = Window(root) root.title("nHentai Downloader") id_select_frame = Frame(root) id_select_frame.grid(row=0, column=0) start_label = Label(id_select_frame, text='Start') start_label.grid(row=0, column=0, sticky=E, pady=2) start_value = StringVar() start_entry = Entry(id_select_frame, textvariable=start_value) start_entry.grid(row=0, column=1) end_label = Label(id_select_frame, text='End') end_label.grid(row=1, column=0, sticky=E, pady=2) end_value = StringVar() end_entry = Entry(id_select_frame, textvariable=end_value) end_entry.grid(row=1, column=1) path_label = Label(id_select_frame, text='Download Path') path_label.grid(row=3, column=0, columnspan=2, pady=10) path_value = StringVar() path_value.set( os.path.join(os.path.dirname(os.path.abspath(__file__)), 'download')) path_entry = Entry(id_select_frame, textvariable=path_value) path_entry.grid(row=4, columnspan=2, sticky="WE") start_button = Button(id_select_frame, text="Start Download", command=download_button_click) start_button.grid(row=6, columnspan=2, sticky="WE", padx=10, pady=10) log_frame = Frame(root) log_frame.grid(row=0, column=1) scroll_text = ScrolledText(log_frame, wrap=WORD) scroll_text.grid() logging.basicConfig(level=logging.INFO, format='%(levelname)s - %(message)s') sct = WidgetLogger(scroll_text) root.mainloop() pass
def tab1_controls(self, tab1): def select_pre_processed_file(): file = filedialog.askopenfilename(filetypes=(("Text file", "*.txt"), )) txt_parsed.delete(0, tkinter.END) txt_parsed.insert(0, str(file)) self.parsed_file = file def run_DHP_matching(): start = time.time() nb_of_couples = DHP.DHP_matching(self.parsed_file) end = time.time() sc_text.insert(tkinter.END, "Hypernymy Extraction: Finish \n") sc_text.insert( tkinter.END, "Total extracted couples:" + str(nb_of_couples) + "\n") sc_text.insert(tkinter.END, "Matching Time (sec): " + str(end - start) + "\n\n") def run_corpus_parsing(): for file in self.corpus_files: res = corpus_parsing.corpus_parsing_from_java( file, self.java_model_path) sc_text.insert(tkinter.END, res) def select_java_model_directory(): file = filedialog.askopenfilename(filetypes=(("Jar files", "*.jar"), )) txt2.delete(0, tkinter.END) txt2.insert(0, str(file)) self.java_model_path = file def select_corpus_files(): files = filedialog.askopenfilenames(filetypes=(("Text files", "*.txt"), )) txt1.delete(0, tkinter.END) self.corpus_files = [] for i, file in enumerate(files): self.corpus_files.append(str(file)) if i == 0: txt1.insert(0, str(file)) else: txt1.insert(0, str(file) + " & ") lbl = tkinter.Label(tab1, text="Corpus Pre-processing", font=("Arial Bold", 14)) lbl.grid(column=1, row=0, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # row 1 # label lbl1 = tkinter.Label(tab1, text="corpus files", font=("Arial Bold", 12)) lbl1.grid(column=1, row=1, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # text txt1 = tkinter.Entry(tab1, width=100) txt1.grid(column=2, row=1, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # button B1 = tkinter.Button(tab1, text="select corpus files", command=select_corpus_files) B1.grid(column=3, row=1, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # row2 # label lbl2 = tkinter.Label(tab1, text="Pre-processing Java Model Path", font=("Arial Bold", 12)) lbl2.grid(column=1, row=2, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # text txt2 = tkinter.Entry(tab1, width=100) txt2.grid(column=2, row=2, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # button B2 = tkinter.Button(tab1, text="select model path", command=select_java_model_directory) B2.grid(column=3, row=2, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) #row 4 # button B3 = tkinter.Button(tab1, text="Run corpus pre-processing", command=run_corpus_parsing) B3.grid(column=2, row=4, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # row 5 lbl = tkinter.Label(tab1, text="Hypernymy Extraction by DHP Matching", font=("Arial Bold", 14)) lbl.grid(column=1, row=5, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # row 6 # label lbl0 = tkinter.Label(tab1, text="Pre-processed corpus file", font=("Arial Bold", 12)) lbl0.grid(column=1, row=6, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # text txt_parsed = tkinter.Entry(tab1, width=100) txt_parsed.grid(column=2, row=6, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # button B0 = tkinter.Button(tab1, text="select pre-processed file", command=select_pre_processed_file) B0.grid(column=3, row=6, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) # row 7 # button B2 = tkinter.Button(tab1, text="Run DHP Matching", command=run_DHP_matching) B2.grid(column=2, row=7, sticky='W', padx=4, pady=4, ipadx=4, ipady=4) #row 10 sc_text = ScrolledText(tab1, width=80, height=12) sc_text.grid(column=2, row=10, sticky='W', padx=4, pady=4, ipadx=4, ipady=4)
except Exception as e: #テキストエリアに表示 #tx.insert('end','\n->Send [{}] NG!'.format(host)) print(e) #メッセージダイアログを表示 : 送信エラー messagebox.showwarning( conf.get('clientsetting', 'erms'), conf.get('clientsetting', 'ermssnd') + '\nIP:' + host) #Label lb = tk.Label(text=conf.get('clientsetting', 'labeltitle') + '(' + localhostIP + ')') lb.pack() #TextBox(スクロール) tx = ScrolledText(root, width=40, height=20) tx.insert('1.0', '') tx.pack() #ボタン1 bt_snd = tk.Button(text=conf.get('clientsetting', 'bt1name'), command=btEvent1, width=40) bt_snd.pack() #ボタン2 bt_cls = tk.Button(text=conf.get('clientsetting', 'bt2name'), command=btEvent2, width=40) bt_cls.pack() #Labe2 lb2 = tk.Label(text=conf.get('clientsetting', 'label2')) lb2.pack()
description_text = job_description_text.get(1.0, tk.END) '''check for filled fields otherwise throw an error if fields are filled execute build_keywords function''' if len(title_text) == 1: messagebox.showinfo("Error!!", "Text Field is empty!!") elif len(description_text) == 1: messagebox.showinfo("Error!!", "Description Box is Empty!!") else: build_keywords(title_text, description_text) position_title_label = tk.Label(root, text="Enter the Job Title") window_frame.create_window(60, 40, window=position_title_label) position_title_text = tk.Text(root, width=60, height=3) window_frame.create_window(255, 80, window=position_title_text) job_description_label = tk.Label(root, text="Enter the Job Description") window_frame.create_window(78, 120, window=job_description_label) job_description_text = ScrolledText(root, width=60, height=9) window_frame.create_window(262, 210, window=job_description_text) '''With click execute generate_resume function''' submit_button = tk.Button(root, text="Submit", command=generate_resume) window_frame.create_window(262, 310, window=submit_button) root.mainloop()
def __init__(self): tk.Tk.__init__(self) self.title("Keyboard Control of Robot Arm") self.arm = Arm() ## self.arm.command_timeout = 50 # if arm still timeout's then uncomment this line and increase value f = tk.Frame(self) f.pack(side="top", expand=True, fill="x") f1 = tk.Frame(f, bd=1, relief="sunken") f1.pack(side="left") tk.Label(f1, text="Function:") .grid(column=1, row=1, sticky="w") tk.Label(f1, text="Key:") .grid(column=2, row=1, sticky="w") tk.Label(f1, text="Base Left:") .grid(column=1, row=2, sticky="w") tk.Label(f1, text="Left") .grid(column=2, row=2, sticky="w") tk.Label(f1, text="Base Right:") .grid(column=1, row=3, sticky="w") tk.Label(f1, text="Right") .grid(column=2, row=3, sticky="w") tk.Label(f1, text="Shoulder Up:") .grid(column=1, row=4, sticky="w") tk.Label(f1, text="Up") .grid(column=2, row=4, sticky="w") tk.Label(f1, text="Shoulder Down:") .grid(column=1, row=5, sticky="w") tk.Label(f1, text="Down") .grid(column=2, row=5, sticky="w") f2 = tk.Frame(f, bd=1, relief="sunken") f2.pack(side="left") tk.Label(f2, text="Function:") .grid(column=3, row=1, sticky="w") tk.Label(f2, text="Key:") .grid(column=4, row=1, sticky="w") tk.Label(f2, text="Elbow Up:") .grid(column=3, row=2, sticky="w") tk.Label(f2, text="Home") .grid(column=4, row=2, sticky="w") tk.Label(f2, text="Elbow Down:") .grid(column=3, row=3, sticky="w") tk.Label(f2, text="End") .grid(column=4, row=3, sticky="w") tk.Label(f2, text="Wrist Up:") .grid(column=3, row=4, sticky="w") tk.Label(f2, text="Insert") .grid(column=4, row=4, sticky="w") tk.Label(f2, text="Wrist Down:") .grid(column=3, row=5, sticky="w") tk.Label(f2, text="Delete") .grid(column=4, row=5, sticky="w") f3 = tk.Frame(f, bd=1, relief="sunken") f3.pack(side="left", fill="y") tk.Label(f3, text="Function:") .grid(column=5, row=1, sticky="w") tk.Label(f3, text="Key:") .grid(column=6, row=1, sticky="w") tk.Label(f3, text="Grip Open:") .grid(column=5, row=2, sticky="w") tk.Label(f3, text="Page-Up") .grid(column=6, row=2, sticky="w") tk.Label(f3, text="Grip Close:") .grid(column=5, row=3, sticky="w") tk.Label(f3, text="Page-Down") .grid(column=6, row=3, sticky="w") tk.Label(f3, text="Toggle Light:") .grid(column=5, row=4, sticky="w") tk.Label(f3, text="L") .grid(column=6, row=4, sticky="w") self.c_window = ScrolledText(self, width=20, height=20) self.c_window.pack(side="top", expand=True, fill="both") self.count = 1 self.lit = False self.bind("<FocusOut>", self.stop_all) self.bind("<Escape>", self.stop_all) self.bind("<l>", self.toggle_light) self.bind("<KeyPress-Prior>", self.grip_open) # page up key self.bind("<KeyRelease-Prior>", self.grip_stop) # page up key self.bind("<KeyPress-Next>", self.grip_close) # page down key self.bind("<KeyRelease-Next>", self.grip_stop) # page down key self.bind("<KeyPress-Left>", self.base_left) self.bind("<KeyRelease-Left>", self.base_stop) self.bind("<KeyPress-Right>", self.base_right) self.bind("<KeyRelease-Right>", self.base_stop) self.bind("<KeyPress-Up>", self.shoulder_up) self.bind("<KeyRelease-Up>", self.shoulder_stop) self.bind("<KeyPress-Down>", self.shoulder_down) self.bind("<KeyRelease-Down>", self.shoulder_stop) self.bind("<KeyPress-Home>", self.elbow_up) self.bind("<KeyRelease-Home>", self.elbow_stop) self.bind("<KeyPress-End>", self.elbow_down) self.bind("<KeyRelease-End>", self.elbow_stop) self.bind("<KeyPress-Insert>", self.wrist_up) self.bind("<KeyRelease-Insert>", self.wrist_stop) self.bind("<KeyPress-Delete>", self.wrist_down) self.bind("<KeyRelease-Delete>", self.wrist_stop)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.title("Deploy Progress") self.stdoutText = ScrolledText(self, width=60, height=15) self.stdoutText.grid(row=0, column=0)
def sendMailCallBack(): def closeWindow(): smWin.destroy() def sendthemail(): to = a1.get() sub = b1.get() cont = c1.get("1.0", tk.END) """ print(isinstance(to, str)) print(isinstance(sub, str)) print(isinstance(cont, str)) """ if to == "": var = tk.messagebox.showinfo("Compose Mail", "Enter valid to Address") return elif sub == "": var = tk.messagebox.showinfo("Compose Mail", "Enter valid Subject") return elif cont == "": var = tk.messagebox.showinfo("Compose Mail", "Enter valid Content") return else: f = open("plain", "w+") f.write(cont) fs = open("subject", "w+") fs.write(sub) ft = open("to", "w+") ft.write(to) f.close() fs.close() ft.close() processText = subprocess.Popen(["./processText.sh", "plain"]) processText.wait() sendMail = subprocess.Popen(["./sendMail.sh", "to", "subject"]) sendMail.wait() var = tk.messagebox.showinfo( "Compose Mail", "Thank you! Your message has been sent successfully.") a1.delete(0, tk.END) b1.delete(0, tk.END) c1.delete("1.0", tk.END) smWin = tk.Toplevel(window) smWin.title("Compose Mail") smWin.geometry("600x400") smWin.configure(background="grey") a = tk.Label(smWin, text="To: ").grid(row=0, column=0) b = tk.Label(smWin, text="Subject: ").grid(row=1, column=0) c = tk.Label(smWin, text="Email Content: ").grid(row=2, column=0) a1 = tk.Entry(smWin, width="51") a1.grid(row=0, column=1) b1 = tk.Entry(smWin, width="51") b1.grid(row=1, column=1) # c1 = Entry(smWin,width="50") # c1.grid(row=2,column=1,padx=5,pady=10,ipady=100) c1 = ScrolledText(smWin, width=64, height=15, selectborderwidth=2) c1.grid(row=2, column=1) tk.Button(smWin, text="Send", highlightbackground="#3E4149", command=sendthemail).place(relx=0.45, rely=0.85, anchor=tk.CENTER) tk.Button(smWin, text="Go Back", highlightbackground="#3E4149", command=closeWindow).place(relx=0.55, rely=0.85, anchor=tk.CENTER)
def __init__(self, master=None, build=None): super().__init__(master) self.master = master self.winX = 800 self.winY = 600 self.win_bg = "gray21" # self.master.geometry("{}x{}".format(self.winX, self.winY)) self.master.title("PHP Argument Executer ({})".format(build)) self.master.iconbitmap("icon.ico") self.master.configure(bg=self.win_bg) self.padding = 10 self.output = "" # Output for text box self.output_colour = "" # Text Colour for output self.title_font = ("Calibri", 16, "underline") self.text_fg = "gray90" self.canvas_bg = "gray30" self.dir_name = "C:/" self.filename = "" # Path Canvas self.canvas_path = Canvas(self.master, bg=self.canvas_bg, highlightthickness=0, width=self.winX - 20, height=60) self.path_title = Label(self.canvas_path, text="Path:", font=self.title_font, bg=self.canvas_bg, fg=self.text_fg) self.path_lbl = Label(self.canvas_path, text="File Path:", bg=self.canvas_bg, fg=self.text_fg) self.path_var = StringVar() self.path_ent = Entry(self.canvas_path, width=56, textvariable=self.path_var, bg=self.canvas_bg, fg=self.text_fg) self.path_btn = Button(self.canvas_path, width=10, text="Select...", bg=self.canvas_bg, fg=self.text_fg, command=self.get_dir) self.path_script = Label(self.canvas_path, bg=self.canvas_bg, fg=self.text_fg) self.master.bind('<KeyRelease>', lambda event=None: self.update()) # Arguments Canvas self.canvas_arg = Canvas(self.master, bg=self.canvas_bg, highlightthickness=0, width=self.winX - 20, height=100) self.arg_title = Label(self.canvas_arg, text="Arguments:", font=self.title_font, bg=self.canvas_bg, fg=self.text_fg) self.arg_lbl = Label(self.canvas_arg, text="Arguments: ", bg=self.canvas_bg, fg=self.text_fg) self.arg_var = StringVar() self.arg_ent = Entry(self.canvas_arg, width=80, textvariable=self.arg_var, bg=self.canvas_bg, fg=self.text_fg) self.arg_ent.insert(END, "argv1~argv2~argv3") self.arg_info = Label( self.canvas_arg, text="* Make sure to leave a '~' between arguments", bg=self.canvas_bg, fg=self.text_fg) self.arg_clear = Button(self.canvas_arg, width=8, text="Clear", bg=self.canvas_bg, fg=self.text_fg, command=self.clear_args) # Output Canvas self.canvas_out = Canvas(self.master, bg=self.canvas_bg, highlightthickness=0, width=self.winX - 20, height=300) self.out_title = Label(self.canvas_out, text="Output:", font=self.title_font, bg=self.canvas_bg, fg=self.text_fg) self.out_box = ScrolledText(self.canvas_out, height=15, width=91, bg="gray18", fg=self.text_fg) self.exec_btn = Button(self.canvas_out, width=10, text="Execute", bg=self.canvas_bg, fg=self.text_fg, command=self.execute) self.pop_btn = Button(self.canvas_out, width=8, text="Pop Out", bg=self.canvas_bg, fg=self.text_fg, command=self.pop_out) # self.out_error = Text(self.canvas_out, # height=1, # width=50, # highlightthickness=0, # bg=self.canvas_bg, # fg="firebrick3") self.place() self.update()
def extractDataCallBack(): def closeWindow(): edWin.destroy() def extractFunction(): reloc = loc.get() if reloc == "": var = tk.messagebox.showinfo("Extract Data from Cover Image", "Enter valid Path") return elif (os.path.isfile(reloc) == 0): var = tk.messagebox.showinfo("Extract Data from Cover Image", "Enter valid Path") return else: dirPath = os.path.dirname(reloc) # print(dirPath) logPath = os.path.join(dirPath, "embedlog" + "." + "logAES") # print(logPath) if (os.path.isfile(logPath) == 0): var = tk.messagebox.showinfo( "Extract Data from Cover Image", '"embedlog.logAES" file missing! Exiting... Download it to the same folder of cover image and then extract... ' ) return extractText = subprocess.Popen(["./extract.sh", logPath, reloc]) extractText.wait() reProcessText = subprocess.Popen(["./reProcessText.sh"]) reProcessText.wait() fileP = open("test1", "r") textData = fileP.read() content.insert(tk.INSERT, textData) edWin = tk.Toplevel(window) edWin.title("Extract Data from Cover Image") edWin.geometry("600x400") edWin.configure(background="grey") a = tk.Label(edWin, text="Location: ").grid(row=0, column=0) loc = tk.Entry(edWin, width="40") loc.grid(row=0, column=1) d1 = tk.Button(edWin, text="Extract", highlightbackground="#3E4149", command=extractFunction) d1.grid(row=0, column=2) b = tk.Label(edWin, text="Email Content: ").grid(row=1, column=0) content = ScrolledText(edWin, width=50, height=15, selectborderwidth=2) content.grid(row=1, column=1) btn = ttk.Button(edWin, text="Back", command=closeWindow).place(relx=0.5, rely=0.75, anchor=tk.CENTER)
def dialogFromOptions(parent, opts, groups=None, callback=None, sticky='news', layout='horizontal'): """Auto create tk vars and widgets for corresponding options and and return the enclosing frame""" tkvars = {} widgets = {} dialog = Frame(parent) if groups == None: groups = {'options': opts.keys()} c=0 row=0 for g in groups: if g == 'hidden': continue if layout=='horizontal': row=0; c+=1 side=LEFT fill=Y else: c=0; row+=1 side=TOP fill=X frame = LabelFrame(dialog, text=g) #frame.grid(row=row,column=c,sticky=sticky) frame.pack(side=side,fill=fill,expand=False) for i in groups[g]: w=None opt = opts[i] if opt['type'] == 'entry': if 'label' in opt: label=opt['label'] else: label=i if 'width' in opt: w=opt['width'] else: w=6 Label(frame,text=label).pack() if type(opts[i]['default']) is int: tkvars[i] = v = IntVar() else: tkvars[i] = v = StringVar() v.set(opts[i]['default']) w = Entry(frame,textvariable=v, width=w, command=callback) elif opt['type'] == 'scrolledtext': w = ScrolledText(frame, width=20, wrap=WORD) tkvars[i] = None elif opt['type'] == 'checkbutton': tkvars[i] = v = IntVar() v.set(opts[i]['default']) w = Checkbutton(frame,text=opt['label'], variable=v) elif opt['type'] == 'combobox': if 'label' in opt: label=opt['label'] else: label = i Label(frame,text=label).pack() tkvars[i] = v = StringVar() v.set(opts[i]['default']) w = Combobox(frame, values=opt['items'], textvariable=v,width=16, validatecommand=callback,validate='key') w.set(opt['default']) #w.configure(background='white') #w['state'] = 'readonly' if 'tooltip' in opt: ToolTip.createToolTip(w, opt['tooltip']) elif opt['type'] == 'listbox': if 'label' in opt: label=opt['label'] else: label = i Label(frame,text=label).pack() w,v = addListBox(frame, values=opt['items'],width=12) tkvars[i] = v #add widget instead of var elif opt['type'] == 'radio': Label(frame,text=label).pack() if 'label' in opt: label=opt['label'] else: label = i Label(frame,text=label).pack() tkvars[i] = v = StringVar() for item in opt['items']: w = Radiobutton(frame, text=item, variable=v, value=item).pack() elif opt['type'] == 'scale': fr,to=opt['range'] tkvars[i] = v = DoubleVar() v.set(opts[i]['default']) w = Scale(frame,label=opt['label'], from_=fr,to=to, orient='horizontal', resolution=opt['interval'], variable=v) if w != None: w.pack(fill=BOTH,expand=1) widgets[i] = w row+=1 return dialog, tkvars, widgets
from tkinter import * from tkinter.scrolledtext import ScrolledText import threading import time import queue arg = 1 size = (int)(input()) myqueue = queue.Queue(size) li = list() for i in range(size): myqueue.put("hello"+str(i)) def count(self): for i in range(0,myqueue.qsize()): if myqueue.empty(): break else: text.insert(END, myqueue.get() + '\n') time.sleep(0.1) def func(self): th = threading.Thread(target=count, args=(arg,)) th.setDaemon(True) th.start() app = Tk() app.title('threading') app['width'] = 800 app['height'] = 600 text = ScrolledText(app, font=('隶书', 16), fg='black') text.grid() text.bind("<Button>",func) app.mainloop()
return filepath ## print text for the 'gua' ## GUI interface for gua and text window = Tk() img_gua0 = PhotoImage(file='guaImage/01.png') img_gua1 = PhotoImage(file='guaImage/02.png') # widgets imgBtn0 = Button(window, image=img_gua0) imgBtn1 = Button(window, image=img_gua1) txtGua = ScrolledText(window, height=20, width=50) runBtn = Button(window) # soundBtn = Button(window) # clrBtn = Button(window, command=lambda:txtGua.delete(0.0, END)) clrBtn = Button(window) exitBtn = Button(window, command=window.quit) # layout design imgBtn0.grid(row=1, column=1) imgBtn1.grid(row=1, column=2) txtGua.grid(row=2, column=1, columnspan=2, padx=(5, 2)) runBtn.grid(row=3, column=1, columnspan=2)
# create a Name label Base_Folder_Name = Label(root, text="Base Folder Location",fg="Black", bg="light Grey") #root = Tk() #v = StringVar() #BrowseButton = Button(root,text="Browse",bg="light Grey",command=browse_button) folder_path = StringVar() lbl1 = Label(master=root,textvariable=folder_path) lbl1.grid(row=1, column=1) BrowseButton = Button(text="Browse",bg="light Grey", command=browse_button) #button2.grid(row=0, column=3) #folderName = filedialog.askdirectory() #print(folderName) #root = tk.Tk() textPad = ScrolledText(root) #textPad.pack() textPad.insert(INSERT, "-----------------------------------------\n") textPad.insert(INSERT, "###### Utilty Successfully Started #####\n") textPad.insert(INSERT, "-----------------------------------------\n") #textPad.insert(END, " in ScrolledText") #root.mainloop() # grid method is used for placing # the widgets at respective positions # in table like structure . heading.grid(row=0, column=1) Base_Folder_Name.grid(row=1, column=0) BrowseButton.grid(row=1, column=4) # create a text entry box # for typing the information
def Login(): e = email.get() p = password.get() if '@gmail.com' not in e or e == "": messagebox.showerror('Login error', "Please write the valid Email") elif p == "": messagebox.showerror('Login error', "Password Shouldn't be Empty ") else: try: s = smtplib.SMTP('smtp.gmail.com', 587) s.starttls() s.login(e, p) messagebox.showinfo("Login Success", "You have Logged to Gmail Successfully") root = tk.Tk() root.geometry('500x400') def Logout(): s.quit() root.destroy() header1 = Label(root, bg="orange", width=300, height=2) header1.place(x=0, y=0) h2 = Label(root, text="Email Sender", bg="orange", fg="black", font=('verdana', 13, 'bold')) h2.place(x=175, y=5) logout = Button(root, text="Logout", padx=20, bg="orange", relief=RIDGE, borderwidth=1, font=('verdana', 10, 'bold'), cursor="hand2", command=Logout) logout.place(x=390, y=38) r = Label(root, text="Recipetent Email Address", font=('verdana', 10, 'bold')) r.place(x=130, y=130) recipetent = Entry(root, width=30, relief=RIDGE, borderwidth=3) recipetent.place(x=130, y=150) st = Label(root, text="Subject", font=('verdana', 10, 'bold')) st.place(x=130, y=190) subject = Entry(root, width=30, relief=RIDGE, borderwidth=3) subject.place(x=130, y=210) m = Label(root, text="Message", font=('verdana', 10, 'bold')) m.place(x=130, y=250) message = ScrolledText(root, width=40, height=5, relief=RIDGE, borderwidth=3) message.place(x=130, y=270) def Send(): r = recipetent.get() st = subject.get() m = message.get('1.0', END) if '@gmail.com' not in r or r == "": messagebox.showerror('Sending Mail error', "Please write the valid Email") elif m == "": messagebox.showerror('Sending Mail error', "Message shouldn't be Empty") else: s.sendmail(e, r, f'Subject :{st}\n\n {m}') messagebox.showinfo( "Success", "Your Message has been send successfully") send = Button(root, text="Send", padx=30, relief=RIDGE, borderwidth=1, bg="orange", font=('verdana', 10, 'bold'), cursor="hand2", command=Send) send.place(x=350, y=360) root.mainloop() except: messagebox.showerror( 'Login error', "Failed to Login, Either Your Email or Password is Wrong nor You did Enable less secure Apps in gmail Setting" )
btn.grid(row=0, column=0) btn1.grid(row=0, column=1) btn2.grid(row=0, column=2) btn3.grid(row=0, column=3) btn4.grid(row=0, column=4) btn5.grid(row=0, column=5) root = Tk() root.title("Compiler Design Project") lb = Label( root, text="Sentimental Analysis of a Text Document using a Lexical Analyser") lb1 = Label(root, text="Output Window") textPad = ScrolledText(root, width=120, height=20) #btn=Button(root,text="PICK FILE",command=pick) #btn1=Button(root,text="Generate Reports",command=gen_report) out = Text(root, width=120, height=1) lb.pack() lb1.pack() textPad.pack() layout = BTN(root) layout.pack() #btn.grid(row=0,column=0) #btn1.grid(row=0,column=1) #btn.pack() #btn1.pack() out.pack() root.mainloop()
# 如果没有用户名则将ip和端口号设置为用户名 addr = s.getsockname() # 获取客户端ip和端口号 addr = addr[0] + ':' + str(addr[1]) if user == '': user = addr ## 聊天窗口 # 创建图形界面 root = tkinter.Tk() root.title(user) # 窗口命名为用户名 root['height'] = 390 root['width'] = 580 root.resizable(0, 0) # 限制窗口大小 # 创建多行文本框 listbox = ScrolledText(root) listbox.place(x=5, y=0, width=570, height=320) # 文本框使用的字体颜色 listbox.tag_config('red', foreground='red') listbox.tag_config('blue', foreground='blue') listbox.tag_config('green', foreground='green') listbox.insert(tkinter.END, '欢迎进入聊天室!', 'blue') ###### 表情功能代码部分 # 用字典将标记与表情图片一一对应, 用于后面接收标记判断表情贴图 dic = { 'aa**': './表情/捂脸.png', 'bb**': './表情/奸笑.png', 'cc**': './表情/皱眉.png', 'dd**': './表情/机智.png' }
connect.bind('<Return>',connect_me) connect.bind('<Button-1>',connect_me) x=StringVar() welcome=ttk.Label(top1,textvariable=x) welcome.grid(row=2,column=3,columnspan=1) cancel=ttk.Button(top1,text="clear") cancel.grid(row=2,column=4,columnspan=1,padx=5,pady=5) ############################################################################ top2=ttk.Frame(bottom,height=5,width=5,borderwidth=3) top2.grid(row=4,column=0,rowspan=3,columnspan=5) message_text=ScrolledText(top2,height=15,width=40) message_text.grid(row=0,column=0,columnspan=5) message_text.config(state=DISABLED) #################################################################### top3=ttk.Frame(bottom) top3.grid(row=7,column=0,rowspan=1,columnspan=5) type_msg=ttk.Entry(top3,textvariable=y,width=45) type_msg.grid(row=0,column=0,columnspan=5) type_msg.bind('<Return>',send_msg) send=ttk.Button(top3,text="Send") send.grid(row=1,column=0,padx=5,pady=5,sticky=W)
font=('verdana', 10, 'bold'), ) gender['values'] = ('Male', 'Female') gender.place(x=10, y=90) gender.current(0) l2 = Label(root, text="Type", font=('verdana', 10, 'bold')) l2.place(x=170, y=60) t = tk.StringVar() types = Combobox( root, width=13, textvariable=t, state='readonly', font=('verdana', 10, 'bold'), ) types['values'] = ('Full Name', 'First Name', 'Last Name') types.place(x=170, y=90) types.current(0) button = Button(root, text="Search", font=('verdana', '10', 'bold'), command=search) button.place(x=320, y=85) text = ScrolledText(root, width=40, height=3) text['font'] = ("verdana", 10, 'bold') text.place(x=10, y=130) root.mainloop()
def __init__(self, master, starttest, editcase): self.CheckVar1 = IntVar() self.CheckVar2 = IntVar() self.CheckVar3 = IntVar() Label(master, text='安卓自动化测试系统', font=('宋体', 20, "bold"), fg='blue').grid(row=0, column=0, rowspan=2, columnspan=8) Button(master, height=4, width=12, text="编辑case", command=editcase).grid(row=2, column=0, rowspan=2) Button(master, height=4, width=12, text="选择case", command=self.choosecase).grid(row=4, column=0, rowspan=2) Button(master, height=4, width=12, text="开始测试", command=starttest).grid(row=6, column=0, rowspan=2) Button(master, height=4, width=12, text="停止当前case", command=self.stop).grid(row=8, column=0, rowspan=2) Button(master, height=1, width=30, text="设置对比图片", command=self.PIC).grid(row=2, column=1, columnspan=2, padx=10) Button(master, height=1, width=12, text='摄像头截图', command=self.CAM).grid(row=2, column=4, sticky=W, padx=10) Button(master, height=1, width=16, text="查看问题截图", command=self.openerror).grid(row=2, column=6) Button(master, height=1, width=16, text="清空截图信息", command=self.clearPIC).grid(row=2, column=7) Button(master, text="全屏图片名称确认", command=self.queding).grid(row=3, column=2, sticky=W, padx=5) Button(master, text="ROI图片名称确认", height=1, width=16, command=self.ROIqueding).grid(row=3, column=4, sticky=W, padx=5) number1 = tkinter.StringVar() self.numberChosen1 = ttk.Combobox(master, width=12, textvariable=number1, state='readonly') self.numberChosen1['values'] = self.devices_list() # 设置下拉列表的值 self.numberChosen1.grid(column=7, row=3) # 设置其在界面中出现的位置 column代表列 row 代表行 # self.numberChosen1.current(0) # 设置下拉列表默认显示的值,0为numberChosen['values'] 的下标值 number2 = tkinter.StringVar() self.numberChosen2 = ttk.Combobox(master, width=12, textvariable=number2, state='readonly') self.numberChosen2['values'] = (0, 1, 2, 3) # 设置下拉列表的值 self.numberChosen2.grid(column=3, row=2, sticky=E) # 设置其在界面中出现的位置 column代表列 row 代表行 self.numberChosen2.current( 0) # 设置下拉列表默认显示的值,0为numberChosen['values'] 的下标值 self.nameinput1 = Entry(master) self.nameinput1.grid(row=3, column=1, sticky=E, padx=5) self.nameinput2 = Entry(master) self.nameinput2.grid(row=3, column=3, sticky=E, padx=5) self.logshow = ScrolledText(master, font=('宋体', 16, "bold"), fg='red') self.logshow.grid(row=4, column=1, columnspan=7, rowspan=6, sticky=W + E + N + S, padx=5, pady=5) # def ReceiveData(self): with open(r'..\report\report.txt') as f: while True: line = f.readline() # self.logshow.grid() self.logshow.insert(END, line) self.logshow.see(END) self.logshow.update()