Окно не отвечает при загрузке браузера + текст не меняется - PullRequest
0 голосов
/ 05 сентября 2018

Почему корневое окно не отвечает во время загрузки браузера ...?

Это ошибка в моем коде или это происходит для всех?

Можно ли решить?

Если да, то как?

enter image description here

Мой код:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
import time
from tkinter import *
from tkinter import ttk
from tkinter import messagebox

root = Tk()
frame = Frame(root)
labelText = StringVar()
display = Label(frame, textvariable=labelText)
labelText.set("Connecting to the server...")
display.pack()
frame.pack()
display.update()

def change_root_label(message):
    labelText.set(message)
    display.pack()
    frame.pack()

change_root_label("Opening...") #updated code for updating question
driver = webdriver.Chrome()
driver.get('https://google.com')
change_root_label("Opened...")


root.mainloop()

Почему текст Opening.. не отображается?

1 Ответ

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

Изменение вашей функции change_root_label на это должно решить вашу проблему:

def change_root_label(message):
    labelText.set(message)
    display.update()

Помните, что вам не нужно снова упаковывать свои виджеты, если вы не хотите изменить их упаковку (положение в родительском элементе). В вашем коде display.update() вызывалось после того, как вы установили значение на "Connecting to the server...", но после изменения значения на 'Opening...' вы должны вызвать функцию update или mainloop для обновления вашего пользовательского интерфейса. Таким образом, в вашем коде, когда mainloop вызывается в конце, он обновит вашу метку дважды, но очень быстро, так что вы не увидите текст 'Opening...'.

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