Tkinter должен быть в отдельном файле Python или может быть в том же коде? - PullRequest
0 голосов
/ 05 октября 2018

Coordinate_1_X = input (" Enter Coordinate point 01 _ X:   ")
Coordinate_1_Y = input (" Enter Coordinate point 01 _ Y:   ")

Coordinate_2_X = input (" Enter Coordinate point 02 _ X:   ")
Coordinate_2_Y = input (" Enter Coordinate point 02 _ Y:   ")

Coordinate_3_X = input (" Enter Coordinate point 03 _ X:   ")
Coordinate_3_Y = input (" Enter Coordinate point 03 _ Y:   ")

Coordinate_4_X = input (" Enter Coordinate point 04 _ X:   ")
Coordinate_4_Y = input (" Enter Coordinate point 04 _ Y:   ")

Приведенные выше данные являются обязательными для запуска моего приложения для веб-драйвера selenium, как только я добавляю input_4, код запускается.

Мой первый вопрос (Если я хочуиспользуйте Tkinter, чтобы позволить конечному пользователю добавить эту информацию в GUI, я должен сделать код Tkinter в другом файле Python или нет?)

Если ответ на этот вопрос (Нет, вы можете добавить код Tkinterв том же основном коде приложения) поэтому у меня есть второй вопрос следующим образом ... (Как разрешить запуск кода после нажатия кнопки отправки в коде Tkinter?)

1 Ответ

0 голосов
/ 06 октября 2018

Вот простой пример, показывающий, как получить ввод от пользователя в графическом интерфейсе, а затем что-то сделать с ним, используя функцию / метод.

import tkinter as tk

class Example(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)

        tk.Label(self, text=" Enter Coordinate point 01 _ X:   ").grid(row=0, column=0)
        self.entry1 = tk.Entry() # this is the widget the user can type in
        self.entry1.grid(row=0, column=1)

        tk.Label(self, text=" Enter Coordinate point 01 _ Y:   ").grid(row=1, column=0)
        self.entry2 = tk.Entry()
        self.entry2.grid(row=1, column=1)
        # This button will run the function that creates a new window with the user input
        tk.Button(self, text="Do something", command=self.do_something).grid(row=2, column=0, pady=5)

    def do_something(self):
        top = tk.Toplevel(self)

        x = self.entry1.get() # the get() method will grab a string of the content of the entry widget
        y = self.entry2.get()

        tk.Label(top, text="You provided coords for point 01 X: {} and Y: {}!".format(x, y)).grid(row=0, column=0)

if __name__ == "__main__":
    Example().mainloop()

Результаты:

enter image description here

После нажатия кнопки:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...