В pygubu-designer создаю форму form.ui
<?xml version='1.0' encoding='utf-8'?>
<interface version="1.3">
  <object class="tk.Frame" id="frame1">
    <property name="height">200</property>
    <property name="width">200</property>
    <layout manager="pack">
      <property name="side">top</property>
    </layout>
    <child>
      <object class="tk.Entry" id="entry1">
        <property name="text" translatable="yes">набранный текс</property>
        <bind sequence="<KeyPress>" handler="callback" add="" />
        <layout manager="pack">
          <property name="side">top</property>
        </layout>
      </object>
    </child>
  </object>
</interface>
Далее создаю файл start_form.py с кодом:
#!/usr/bin/python3
import pathlib
import tkinter as tk
import pygubu
PROJECT_PATH = pathlib.Path(__file__).parent
PROJECT_UI = PROJECT_PATH / "form.ui"
class FormApp:
    def __init__(self, master=None):
        self.builder = builder = pygubu.Builder()
        builder.add_resource_path(PROJECT_PATH)
        builder.add_from_file(PROJECT_UI)
        # Main widget
        self.mainwindow = builder.get_object("frame1", master)
        builder.connect_callbacks(self)
    def run(self):
        self.mainwindow.mainloop()
    def callback(self, event=None):
        pass
if __name__ == "__main__":
    root = tk.Tk()
    app = FormApp(root)
    app.run()
Как к примеру в функции callback (bind = KeyPress) обратится к элементу формы entry1 и получить вводимые данные для дальнейшей работы. К примеру преобразовать в верхний регистр.
Должно быть что-то типа этого, но тут я неправильно обращаюсь к entry1:
    def callback(self, event=None):
        print(self.mainwindow.entry1.get().upper())


