У меня есть два отдельных кода Python, и я хочу, чтобы, если я нажму кнопку на первом графическом интерфейсе, тогда откроется новое окно графического интерфейса пользователя и откроется во входном поле.Как связать одно окно GUI с другим
Я смог успешно открыть новое окно GUI после нажатия кнопки в первом графическом интерфейсе, но второе окно не принимает ввода. Может кто-то, пожалуйста, проверьте мой код и скажите, почему мой второй графический интерфейс не принимает и не вводит. Я вставляю часть своих двух кодов питона, чтобы сохранить ее кратким.
Когда я нажимаю кнопку ДА в первом коде, открывается новое окно GUI Python, но когда я ввожу значения в поле ввода и нажимаю кнопку FWD Pipe 1, код не принимает этот ввод.
Первый и второй коды:
import sys
from Tkinter import *
import Prog2 as ofnew
def askOffsets():
print 'Correct till here'
of = ofnew.AddOffset()
mGui = Tk()
mGui.geometry('1000x600+150+100')
buttonYesOffsets = Button(text = 'YES', command = askOffsets)
buttonYesOffsets.place(x = 300, y = 350)
mGui.mainloop()
import sys
from Tkinter import *
import time, datetime
from numpy import arange
class AddOffset():
def getOffsetsPipe1FWD(self):
print 'Correct'
temp1 = self.StartFreqOffsets.get()
print temp1
def __init__(self):
self.mOffsets = Tk()
self.mOffsets.geometry('1000x600+100+100')
self.mOffsets.title('Enter the Offsets')
self.StartFreqOffsets = DoubleVar()
self.StartFreqOffsets.set(1)
labelenterStartFreqOffsets = Label(self.mOffsets, text = 'Enter the Start Frequency (in MHz):')
labelenterStartFreqOffsets.place(x = 0, y = 50)
self.entryStartFreqOffsets = Entry(self.mOffsets, textvariable = self.StartFreqOffsets).place(x = 250, y = 50)
buttonPipe1FWD = Button(self.mOffsets, text = 'Pipe 1 FWD', command = self.getOffsetsPipe1FWD)
buttonPipe1FWD.place(x = 30, y = 300)
self.mOffsets.mainloop()
Да, я думаю, что в целом для других окон мы должны использовать экземпляры 'Toplevel' виджета, но это не всегда так, по крайней мере, это то, что Я читал один раз, я думаю, на сайте effbot.org. Мы знаем, что для каждого экземпляра «Tk» есть связанный интерпретатор Tcl, работающий в фоновом режиме (если я не ошибаюсь), поэтому в случае нескольких экземпляров Tk у нас есть несколько интерпретаторов Tcl, работающих в фоновом режиме. Итак, если это правильно, есть ли какая-то конкретная ситуация, когда было бы полезно использовать более одного интерпретатора Tcl, работающего в фоновом режиме? – nbro