def __init__(self, parent):
"""Send messages from the bot
Args:
parent:
"""
super(ChatFrame, self).__init__(parent, padding=8, text="Chat")
self.channel = tk.StringVar()
self.message = tk.StringVar()
self.channel_frame = ttk.Frame(self)
self.channel_frame.grid(column=0, row=0, sticky="W E")
self.channel_label = ttk.Label(self.channel_frame, text="Channel ID:")
self.channel_label.grid(column=0, row=0, sticky="W E")
self.channel_box = ttk.Entry(self.channel_frame, textvariable=self.channel)
self.channel_box.grid(column=0, row=1, sticky="W E")
self.channel_frame.columnconfigure(0, weight=1)
self.message_frame = ttk.Frame(self)
self.message_frame.grid(column=0, row=1, pady=8, sticky="W E")
self.message_label = ttk.Label(self.message_frame, text="Message:")
self.message_label.grid(column=0, row=0, sticky="W E")
self.message_box = ttk.Entry(self.message_frame, textvariable=self.message)
self.message_box.grid(column=0, row=1, sticky="W E")
self.message_frame.columnconfigure(0, weight=1)
self.send_button = ttk.Button(self, command=lambda: self.add_current_message(), text="Send")
self.send_button.grid(column=0, row=2, sticky="W")
self.columnconfigure(0, weight=1)
python类Button()的实例源码
def __init__(self, parent):
"""
Create a new UI for the module
Args:
parent: A tk or ttk object
"""
super(ModuleUIFrame, self).__init__(parent)
self.columnconfigure(0, weight=1)
self.rowconfigure(1, weight=1)
# Set default values
from ....datatools import get_data
data = get_data()
# API Frame
api_frame = ttk.LabelFrame(self, padding=8, text="Google API")
api_frame.grid(row=0, column=0, sticky="W E N S")
api_frame.columnconfigure(0, weight=1)
# Add key fields
self.google_api_key = tk.StringVar()
ttk.Label(api_frame, text="Google API Key").grid(column=0, row=0, sticky="W E N S")
ttk.Entry(api_frame, textvariable=self.google_api_key).grid(
column=0, row=1, padx=0, pady=4, sticky="W E N S")
self.soundcloud_client_id = tk.StringVar()
ttk.Label(api_frame, text="SoundCloud Client ID").grid(column=0, row=2, sticky="W E N S")
ttk.Entry(api_frame, textvariable=self.soundcloud_client_id).grid(
column=0, row=3, padx=0, pady=4, sticky="W E N S")
ttk.Button(api_frame, command=lambda: self.update_keys(), text="Update API Data").grid(
column=0, row=4, padx=0, pady=4, sticky="W E N S")
if "google_api_key" in data["discord"]["keys"]:
self.google_api_key.set(data["discord"]["keys"]["google_api_key"])
if "soundcloud_client_id" in data["discord"]["keys"]:
self.soundcloud_client_id.set(data["discord"]["keys"]["soundcloud_client_id"])
def add_module(self, module_name, module_ui):
"""
Adds a module to the list
Args:
module_name (str): The name of the module
module_ui: The function to call to create the module's UI
"""
m_button = tk.Label(self.module_selection, text=module_name, bg="white", anchor="w")
m_button.grid(column=0, row=len(self.module_selection.winfo_children()), padx=0, pady=0, sticky="W E N S")
self.module_buttons[module_name] = m_button
m_button.bind("<Button-1>", lambda e: self.module_selected(module_name, module_ui))
GUI_OOP_class_imported.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def __init__(self): # Initializer method
# Create instance
self.win = tk.Tk()
tt.create_ToolTip(self.win, 'Hello GUI')
# Add a title
self.win.title("Python GUI")
self.create_widgets()
# Modified Button Click Function
GUI_OOP_2_classes.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 18
收藏 0
点赞 0
评论 0
def __init__(self): # Initializer method
# Create instance
self.win = tk.Tk()
create_ToolTip(self.win, 'Hello GUI')
# Add a title
self.win.title("Python GUI")
self.create_widgets()
# Modified Button Click Function
GUI_OOP_class_imported_tooltip.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def __init__(self): # Initializer method
# Create instance
self.win = tk.Tk()
tt.create_ToolTip(self.win, 'Hello GUI')
# Add a title
self.win.title("Python GUI")
self.create_widgets()
# Modified Button Click Function
GUI_MySQL.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 19
收藏 0
点赞 0
评论 0
def useQueues(self):
# Now using a class member Queue
while True:
qItem = self.guiQueue.get()
print(qItem)
self.scr.insert(tk.INSERT, qItem + '\n')
# Button callback
GUI_MySQL.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 18
收藏 0
点赞 0
评论 0
def insertQuote(self):
title = self.bookTitle.get()
page = self.pageNumber.get()
quote = self.quote.get(1.0, tk.END)
print(title)
print(quote)
self.mySQL.insertBooks(title, page, quote)
# Button callback
Communicate.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 26
收藏 0
点赞 0
评论 0
def __init__(self, parent):
wx.Panel.__init__(self, parent)
parent.CreateStatusBar()
menu= wx.Menu()
menu.Append(wx.ID_ABOUT, "About", "wxPython GUI")
menuBar = wx.MenuBar()
menuBar.Append(menu, "File")
parent.SetMenuBar(menuBar)
button = wx.Button(self, label="Print", pos=(0,60))
self.Bind(wx.EVT_BUTTON, self.writeToSharedQueue, button)
self.textBox = wx.TextCtrl(self, size=(280,50), style=wx.TE_MULTILINE)
#-----------------------------------------------------------------
Communicate.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def writeToSharedQueue(self, event):
self.textBox.AppendText(
"The Print Button has been clicked!\n")
putDataIntoQueue('Hi from wxPython via Shared Queue.\n')
if dataInQueue:
data = readDataFromQueue()
self.textBox.AppendText(data)
text.insert('0.0', data) # insert data into tkinter GUI
#==================================================================
GUI.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def useQueues(self):
# Now using a class member Queue
while True:
qItem = self.guiQueue.get()
print(qItem)
self.scr.insert(tk.INSERT, qItem + '\n')
# Button callback
GUI.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def insertQuote(self):
title = self.bookTitle.get()
page = self.pageNumber.get()
quote = self.quote.get(1.0, tk.END)
print(title)
print(quote)
self.mySQL.insertBooks(title, page, quote)
# Button callback
GUI.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 17
收藏 0
点赞 0
评论 0
def modifyQuote(self):
raise NotImplementedError("This still needs to be implemented for the SQL command.")
# TZ Button callback
GUI.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 24
收藏 0
点赞 0
评论 0
def allTimeZones(self):
for tz in all_timezones:
self.scr.insert(tk.INSERT, tz + '\n')
# TZ Local Button callback
GUI_Complexity_start_add_button.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 17
收藏 0
点赞 0
评论 0
def __init__(self):
# Create instance
self.win = tk.Tk()
# Add a title
self.win.title("Python GUI")
self.createWidgets()
# Button callback
GUI_Complexity_start_add_button.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 17
收藏 0
点赞 0
评论 0
def clickMe(self):
self.action.configure(text='Hello ' + self.name.get())
# Button callback Clear Text
GUI_Complexity_start.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 18
收藏 0
点赞 0
评论 0
def clickMe(self):
self.action.configure(text='Hello ' + self.name.get())
# Button callback Clear Text
GUI_Complexity_end_tab3_multiple_notebooks.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 21
收藏 0
点赞 0
评论 0
def clickMe(button, name, number):
button.configure(text='Hello {} {}'.format(name.get(), number.get()))
# Button callback Clear Text
GUI_Complexity_end_tab3_multiple_notebooks.py 文件源码
项目:Python-GUI-Programming-Cookbook-Second-Edition
作者: PacktPublishing
项目源码
文件源码
阅读 20
收藏 0
点赞 0
评论 0
def display_button(active_notebook, tab_no):
btn = ttk.Button(display_area, text=active_notebook +' - Tab '+ tab_no, \
command= lambda: showinfo("Tab Display", "Tab: " + tab_no) )
btn.grid(column=0, row=0, padx=8, pady=8)
#------------------------------------------