September Morn Update

This commit is contained in:
Ingy döt Net 2019-09-12 10:33:56 -07:00
parent 4e2d22a71d
commit aac6731f2c
6856 changed files with 141342 additions and 21127 deletions

View file

@ -1,13 +1,29 @@
from Tkinter import Tk, Label, Button
from functools import partial
def update_label():
global n
n += 1
l["text"] = "Number of clicks: %d" % n
import tkinter as tk
w = Tk()
n = 0
l = Label(w, text="There have been no clicks yet")
l.pack()
Button(w, text="click me", command=update_label).pack()
w.mainloop()
def on_click(label: tk.Label,
counter: tk.IntVar) -> None:
counter.set(counter.get() + 1)
label["text"] = f"Number of clicks: {counter.get()}"
def main():
window = tk.Tk()
label = tk.Label(master=window,
text="There have been no clicks yet")
label.pack()
counter = tk.IntVar()
update_counter = partial(on_click,
label=label,
counter=counter)
button = tk.Button(master=window,
text="click me",
command=update_counter)
button.pack()
window.mainloop()
if __name__ == '__main__':
main()

View file

@ -1,22 +1,22 @@
#!/usr/bin/env python
from Tkinter import Button, Frame, Label, Pack
import tkinter as tk
class ClickCounter(Frame):
def click(self):
self.count += 1
self.label['text'] = 'Number of clicks: %d' % self.count
def createWidgets(self):
self.label = Label(self, text='here have been no clicks yet')
self.label.pack()
self.button = Button(self, text='click me', command=self.click)
self.button.pack()
class ClickCounter(tk.Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
Pack.config(self)
self.createWidgets()
super().__init__(master)
tk.Pack.config(self)
self.label = tk.Label(self, text='There have been no clicks yet')
self.label.pack()
self.button = tk.Button(self,
text='click me',
command=self.click)
self.button.pack()
self.count = 0
if __name__=="__main__":
def click(self):
self.count += 1
self.label['text'] = f'Number of clicks: {self.count}'
if __name__ == "__main__":
ClickCounter().mainloop()

View file

@ -1,20 +1,36 @@
import sys
from qt import *
from functools import partial
from itertools import count
def update_label():
global i
i += 1
lbl.setText("Number of clicks: %i" % i)
from PyQt5.QtWidgets import (QApplication,
QLabel,
QPushButton,
QWidget)
from PyQt5.QtCore import QRect
i = 0
app = QApplication(sys.argv)
win = QWidget()
win.resize(200, 100)
lbl = QLabel("There have been no clicks yet", win)
lbl.setGeometry(0, 15, 200, 25)
btn = QPushButton("click me", win)
btn.setGeometry(50, 50, 100, 25)
btn.connect(btn, SIGNAL("clicked()"), update_label)
win.show()
app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
app.exec_loop()
LABEL_GEOMETRY = QRect(0, 15, 200, 25)
BUTTON_GEOMETRY = QRect(50, 50, 100, 25)
def on_click(_, label, counter=count(1)):
label.setText(f"Number of clicks: {next(counter)}")
def main():
application = QApplication([])
window = QWidget()
label = QLabel(text="There have been no clicks yet",
parent=window)
label.setGeometry(LABEL_GEOMETRY)
button = QPushButton(text="click me",
parent=window)
button.setGeometry(BUTTON_GEOMETRY)
update_counter = partial(on_click,
label=label)
button.clicked.connect(update_counter)
window.show()
application.lastWindowClosed.connect(window.close)
application.exec_()
if __name__ == '__main__':
main()

View file

@ -1,28 +1,35 @@
import wx
class MyApp(wx.App):
def click(self, event):
self.count += 1
self.label.SetLabel("Count: %d" % self.count)
def OnInit(self):
frame = wx.Frame(None, wx.ID_ANY, "Hello from wxPython")
self.count = 0
self.button = wx.Button(frame, wx.ID_ANY, "Click me!")
self.label = wx.StaticText(frame, wx.ID_ANY, "Count: 0")
self.Bind(wx.EVT_BUTTON, self.click, self.button)
class ClickCounter(wx.Frame):
def __init__(self):
super().__init__(parent=None)
self.count = 0
self.button = wx.Button(parent=self,
label="Click me!")
self.label = wx.StaticText(parent=self,
label="There have been no clicks yet")
self.Bind(event=wx.EVT_BUTTON,
handler=self.click,
source=self.button)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.button, True, wx.EXPAND)
self.sizer.Add(self.label, True, wx.EXPAND)
frame.SetSizer(self.sizer)
frame.SetAutoLayout(True)
self.sizer.Fit(frame)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(window=self.button,
proportion=1,
flag=wx.EXPAND)
self.sizer.Add(window=self.label,
proportion=1,
flag=wx.EXPAND)
self.SetSizer(self.sizer)
self.sizer.Fit(self)
frame.Show(True)
def click(self, _):
self.count += 1
self.label.SetLabel(f"Count: {self.count}")
self.SetTopWindow(frame)
return True
app = MyApp(0)
app.MainLoop()
if __name__ == '__main__':
app = wx.App()
frame = ClickCounter()
frame.Show()
app.MainLoop()