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()