首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tkinter + figma动画GUI

tkinter + figma动画GUI
EN

Stack Overflow用户
提问于 2021-09-27 13:49:11
回答 1查看 1.1K关注 0票数 0

我正在尝试重新设计我的应用程序。在之前的版本('old')中,我使用的是纯tkinter和python。在新版本中,我决定创建现代的GUI。为此,我使用Figma设计我的UI,然后我使用tkinter设计将其转换为python代码,然后我将其作为普通应用程序运行。

目前在Figma中设计的新GUI的主要问题是,我不知道如何创建不同的子页面,以及如何在它们之间跳转。例如,我想点击。"DODAJ“,然后我应该跳转到另一个子页面。如何将此分页添加到由Figma生成的应用程序中?也许我应该用其他语言设计新的UI?如果是,应该是什么语言?

代码语言:javascript
复制
# This file was generated by the Tkinter Designer by Parth Jadhav
# https://github.com/ParthJadhav/Tkinter-Designer


from pathlib import Path

# from tkinter import *
# Explicit imports to satisfy Flake8
from tkinter import Tk, Canvas, Entry, Text, Button, PhotoImage


OUTPUT_PATH = Path(__file__).parent
ASSETS_PATH = OUTPUT_PATH / Path("./assets")


def relative_to_assets(path: str) -> Path:
    return ASSETS_PATH / Path(path)


window = Tk()

window.geometry("1440x1024")
window.configure(bg = "#FFFFFF")


canvas = Canvas(
    window,
    bg = "#FFFFFF",
    height = 1024,
    width = 1440,
    bd = 0,
    highlightthickness = 0,
    relief = "ridge"
)

canvas.place(x = 0, y = 0)
canvas.create_rectangle(
    0.0,
    0.0,
    1440.0,
    1011.0,
    fill="#1D1D30",
    outline="")

canvas.create_text(
    856.0,
    402.0,
    anchor="nw",
    text="Nowe gui",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    896.0,
    364.0,
    anchor="nw",
    text="1.0.0",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    725.0,
    256.0,
    anchor="nw",
    text="OSTATNIE ZMIANY",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 48 * -1)
)

canvas.create_text(
    630.0,
    79.0,
    anchor="nw",
    text="XXX Application",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 64 * -1)
)

canvas.create_rectangle(
    0.0,
    0.0,
    391.0,
    1011.0,
    fill="#282646",
    outline="")

canvas.create_text(
    94.0,
    921.0,
    anchor="nw",
    text="USTAWIENIA",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    88.0,
    822.0,
    anchor="nw",
    text="AUTO MODE",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    16.0,
    723.0,
    anchor="nw",
    text="SPRAWD� WA�NO��",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    61.0,
    624.0,
    anchor="nw",
    text="EDYTUJ / USU�",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    98.0,
    525.0,
    anchor="nw",
    text="WYSZUKAJ ",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    132.0,
    426.0,
    anchor="nw",
    text="DODAJ ",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_text(
    31.0,
    327.0,
    anchor="nw",
    text="WSZYSTKIE POLISY",
    fill="#FFFFFF",
    font=("RedHatDisplay Regular", 36 * -1)
)

canvas.create_rectangle(
    12.0,
    206.0,
    391.0,
    295.0,
    fill="#282746",
    outline="")

button_image_1 = PhotoImage(
    file=relative_to_assets("button_1.png"))
button_1 = Button(
    image=button_image_1,
    borderwidth=0,
    highlightthickness=0,
    command=lambda: print("button_1 clicked"),
    relief="flat"
)
button_1.place(
    x=18.0,
    y=212.0,
    width=373.0,
    height=76.0
)

image_image_1 = PhotoImage(
    file=relative_to_assets("image_1.png"))
image_1 = canvas.create_image(
    195.0,
    121.0,
    image=image_image_1
)
window.resizable(False, False)
window.mainloop()

这就是单击DODAJ之后新的输入屏幕应该是什么样子。我已经将它与Figma中的叠加连接起来,但我认为它不适用于tkinter designer。只创建了第一个屏幕。

EN

回答 1

Stack Overflow用户

发布于 2021-11-21 14:52:10

为新窗口或页面创建一个新文件,在当前文件中使用import关键字导入该文件。例如:在此代码中,mainscreen.py具有主屏幕,您需要使用导入函数导入dodaj.py文件

代码语言:javascript
复制
def dodaj():
    import dodaj

将此命令用于mainscreen.py中的dodaj按钮,它将会起作用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69347831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档