程序在tkinter中运行时如何制作新标签?

Posted

技术标签:

【中文标题】程序在tkinter中运行时如何制作新标签?【英文标题】:How to make new label when the program is running in tkinter? 【发布时间】:2020-01-02 11:14:53 【问题描述】:

我想在按下按钮时程序运行时制作一个新标签。我正在使用 Tkinter python v3。

这是我的代码:

from tkinter import *
from tkinter import ttk
import tkinter as tk
import copy

class App(ttk.Frame):

def __init__(self, master):
    self.newwindow = master
    self.pocetnik_label = Label(master, text = 'Pocetnik')
    self.pocetnik_label.pack(side = LEFT)

    self.dodaj_button = Button(master, text = '+', command = self.pocetnik)
    self.dodaj_button.pack(side = RIGHT)
    self.newwindow.mainloop()

def pocetnik(self):
    b2= tk.Toplevel(self.newwindow)

    self.ime_label = Label(b2, text = 'Ime').grid(row = 0, column = 0)
    self.ime_entry = Entry(b2, bd = 5).grid(row = 0, column = 1)

    self.vreme_label = Label(b2, text = 'Vreme').grid(row = 1, column = 0)
    self.vreme_entry = Entry(b2, bd = 5).grid(row = 1, column = 1)

    self.napravi_button = Button(b2, text = 'Napravi').grid(row = 3, column = 0)

master = Tk()
pocetnik = App(master)

【问题讨论】:

更好地解释你的问题,更详细,问题是什么,哪个按钮应该创建一个新标签? @Mat.C 我想让按钮 napravi 制作新标签。 【参考方案1】:

我已经在我的电脑上检查了你的代码,它确实有效 :-) 如果我按下“+”按钮,则会出现一个新窗口。

from tkinter import ttk
import tkinter as tk
import copy


class App(ttk.Frame):

    def __init__(self, master):
        self.newwindow = master
        self.pocetnik_label = Label(master, text='Pocetnik')
        self.pocetnik_label.pack(side=LEFT)

        self.dodaj_button = Button(master, text='+', command=self.pocetnik)
        self.dodaj_button.pack(side=RIGHT)
        self.newwindow.mainloop()

    def pocetnik(self):
        b2 = tk.Toplevel(self.newwindow)

        self.ime_label = Label(b2, text='Ime').grid(row=0, column=0)
        self.ime_entry = Entry(b2, bd=5).grid(row=0, column=1)

        self.vreme_label = Label(b2, text='Vreme').grid(row=1, column=0)
        self.vreme_entry = Entry(b2, bd=5).grid(row=1, column=1)

        self.napravi_button = Button(b2, text='Napravi').grid(row=3, column=0)


master = Tk()
pocetnik = App(master)

也许你想把这个新窗口变成一个模态对话框?你可以看看How to create a modal dialog in tkinter?

【讨论】:

以上是关于程序在tkinter中运行时如何制作新标签?的主要内容,如果未能解决你的问题,请参考以下文章

在新进程中运行时窗口标题中的“无响应”

想要运行在 windows 中制作的 kivy 应用程序,但在 mac os 中运行时显示错误

应用程序在模拟器中运行时卡在启动画面上

在 WPF .net core 5 中运行时更改应用程序文化时如何更新属性绑定

如何让tkinter自动关闭窗口后显示另一个窗口?

在新的应用程序域中运行时,如何将标准输出转换为 mstest 输出?