Для реализации функции перезапуска программы при нажатии на кнопку можно воспользоваться библиотекой tkinter для создания графического интерфейса и функцией os.execl() для перезапуска программы.
Вот пример кода на Python, который показывает, как можно реализовать данную функциональность:
```python
import os
import tkinter as tk
def restart_program():
python = sys.executable
os.execl(python, python, *sys.argv)
root = tk.Tk()
restart_button = tk.Button(root, text="Restart Program", command=restart_program)
restart_button.pack()
root.mainloop()
```
Чтобы воспользоваться Nuitka для компиляции программы и автоматического перезапуска при нажатии на кнопку, можно добавить вызов компилятора Nuitka в функцию restart_program():
```python
def restart_program():
python = sys.executable
os.execl(python, python, *sys.argv)
# Добавляем компиляцию с помощью Nuitka
os.system("nuitka --standalone my_program.py")
root = tk.Tk()
restart_button = tk.Button(root, text="Restart Program", command=restart_program)
restart_button.pack()
root.mainloop()
```
Обратите внимание, что для успешной компиляции с помощью Nuitka необходимо установить его на ваш компьютер и прописать путь к нему в переменной PATH.
Надеюсь, это поможет вам решить вашу задачу. Если у вас остались вопросы, не стесняйтесь их задать.