From ad2819611455f32b24a2a9b98b682156bdb03aa7 Mon Sep 17 00:00:00 2001 From: Taiko2k Date: Sun, 23 Jan 2022 23:39:12 +1300 Subject: [PATCH] update --- README.md | 128 ++++++++++++++++++++++++++++++++++++++++++++++-------- dots.png | Bin 0 -> 38167 bytes menu1.png | Bin 0 -> 6910 bytes 3 files changed, 109 insertions(+), 19 deletions(-) create mode 100644 dots.png create mode 100644 menu1.png diff --git a/README.md b/README.md index bc66b81..6645175 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,16 @@ Prerequisite: You have learnt the basics of Python Topics: - - A basic window - - A button - - A layout box - - A check button - - A switch - - A Label - - A slider - - Header bar - - Button with menu + - A basic GTK window + - Adding basic button widget + - Introducing the box layout + - Add check button, a switch and a slider + - Add a custom header bar + - Add a button with a menu + - Custom drawing with Cairo + - Handling input + +For beginners, I suggest walking through each example and try to understand what each line is doing. ## A most basic program @@ -38,9 +39,9 @@ This should display a small blank window. ![A blank GTK window](blank.png) -Oh btw, you'll want to think of an application id for your app, especially if you're going to distribute it. It should be the reverse of a domain or page you control. If you dont have your own domain you can do like "com.github.me.myproject". +For a serious app, you'll need to think of your own application id. It should be the reverse of a domain or page you control. If you don't have your own domain you can do like "com.github.me.myproject". -Right um... lets make that code into classes! Cause doing it functional style is a little awkward in Python. +Right um... lets make that code into classes! 'Cause doing it functional style is a little awkward in Python. Also, **Libawaita** is the new hotness, so lets switch to that! @@ -62,7 +63,7 @@ from gi.repository import Gtk, Adw class MainWindow(Gtk.ApplicationWindow): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - # Things will go here + # Things will go here class MyApp(Adw.Application): def __init__(self, **kwargs): @@ -80,15 +81,15 @@ app.run(sys.argv) Soo we have an instance of an app class and a window which we extend! We run our app and it makes a window! -> **Tip:** Don't worry too much if your Python knowledge isn't strong and the `__init__(self, *args, **kwargs)` stuff is giving you a headache. +> **Tip:** Don't worry too much if you don't understand the `__init__(self, *args, **kwargs)` stuff for now. ### So! Whats next? -Well, we want to add something to our window. That would likely be a layout of some sort! +Well, we want to add something to our window. That would likely be a ***layout*** of some sort! Most basic layout is a [Box](https://docs.gtk.org/gtk4/class.Box.html). -Lets add a box to the window! (Where the comment "*things will go here*" is above) +Lets add a box to the window! (Where the code comment "*things will go here*" is above) ```python self.box = Gtk.Box() @@ -136,7 +137,7 @@ By the way the ***Box*** layout lays out widgets in like a vertical or horizonta self.box1 = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) ``` -### Quick intermission, lets set some fun stuff +### Quick intermission, lets set some window parameters ```python self.set_default_size(600, 250) @@ -286,8 +287,6 @@ For this there are multiple new concepts we need to introduce: - A [***Menu***](https://docs.gtk.org/gio/class.Menu.html). This is an abstract model of a menu. - [***Actions***](https://docs.gtk.org/gio/class.SimpleAction.html). An abstract action that can be connected to our abstract menu. -First, lets add a ***MenuButton*** to our header bar - ```python # Create a new "Action" action = Gio.SimpleAction.new("something", None) @@ -319,7 +318,98 @@ First, lets add a ***MenuButton*** to our header bar ![A basic menu in headerbar](menu1.png) -WIP +# Custom drawing area using Cairo + +Here we use the [***DrawingArea***](https://docs.gtk.org/gtk4/class.DrawingArea.html) widget. + +```python + + dw = Gtk.DrawingArea() + + # Make it fill the available space (It will stretch with the window) + dw.set_hexpand(True) + dw.set_vexpand(True) + + # Instead, If we didn't want it to fill the available space but wanted a fixed size + #dw.set_content_width(100) + #dw.set_content_height(100) + + dw.set_draw_func(self.draw, None) + self.box3.append(dw) + + def draw(self, area, c, w, h, data): + # c is a Cairo context + + # Fill background with a colour + c.set_source_rgb(0, 0, 0) + c.paint() + + # Draw a line + c.set_source_rgb(0.5, 0.0, 0.5) + c.set_line_width(3) + c.move_to(10, 10) + c.line_to(w - 10, h - 10) + c.stroke() + + # Draw a rectangle + c.set_source_rgb(0.8, 0.8, 0.0) + c.rectangle(20, 20, 50, 20) + c.fill() + + # Draw some text + c.set_source_rgb(0.1, 0.1, 0.1) + c.select_font_face("Sans") + c.set_font_size(13) + c.move_to(25, 35) + c.show_text("Test") + +``` + +Further resources on Cairo: + + - [PyCairo Visual Documentation](https://seriot.ch/pycairo/) + +Note that Cairo uses software rendering. For accelerated rendering, Gtk Snapshot can be used (todo) + +## Input handling in our drawing area + +### Handling a mouse / touch event + +```python + ... + evk = Gtk.GestureClick.new() + evk.connect("pressed", self.dw_click) # could be "released" + self.dw.add_controller(evk) + + self.blobs = [] + + def dw_click(self, gesture, data): + c, x, y = gesture.get_point() + self.blobs.append((x, y)) + self.dw.queue_draw() # Force a redraw + + def draw(self, area, c, w, h, data): + # c is a Cairo context + + # Fill background + c.set_source_rgb(0, 0, 0) + c.paint() + + c.set_source_rgb(1, 0, 1) + for x, y in self.blobs: + c.arc(x, y, 10, 0, 2 * 3.1415926) + c.fill() + ... + +``` + +![A drawing area with purple dots where we clicked](dots.png) + +Ref: [GestureClick](https://docs.gtk.org/gtk4/class.GestureClick.html) + +See also: [EventControllerKey](https://docs.gtk.org/gtk4/class.EventControllerKey.html) + +See also: [EventControllerMotion](https://docs.gtk.org/gtk4/class.EventControllerMotion.html) ## Todo... diff --git a/dots.png b/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..3801d975325eab5e75e661b1b9113005da330c1b GIT binary patch literal 38167 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 literal 0 HcmV?d00001 diff --git a/menu1.png b/menu1.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b68fc03de1692a27416b061d26ecddf3d8ee8a GIT binary patch literal 6910 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