Using tkinter
If you are an advanced user, you can still make use of tkinter when using guizero.
You can combine the use of guizero
and tkinter
seamlessly in a program, taking advantage of the simplified syntax of guizero whilst still being able to access the full range of functionality in tkinter if you need it.
Using tkinter widgets in guizero
You can add tk widgets into your guizero app using the add_tk_widget
method of App
, Window
and Box
.
In this example, we are adding the tkinter widget Spinbox
into a guizero App
:
from guizero import App, Text
from tkinter import Spinbox
app = App()
text = Text(app, text="A Spinbox widget")
spinbox = Spinbox(from_=0, to=10)
app.add_tk_widget(spinbox)
app.display()
When adding a tk widget to a Box
or a Window
you will have to specify its tk
property when creating the tk widget.
box = Box(app)
spinbox = Spinbox(box.tk, from_=0, to=10)
box.add_tk_widget(spinbox)
Using a tkinter method on a guizero object
Each guizero widget itself contains a tk widget - you can find out which by looking on the guizero documentation page for the widget. For example, a guizero TextBox
contains a tkinter Entry
object. You can access the internal object using the syntax <object_name>.tk
.
In this example, we have guizero App
and TextBox
widgets and are using the tk widgets config
method to change the mouse cursor when it is over the TextBox
.
from guizero import App, TextBox
app = App()
name = TextBox(app, text="Laura")
name.tk.config(cursor="target")
app.display()