Вызов exec_
запускает цикл обработки событий.Именно сюда отправляются события клавиатуры и мыши, события таймера, а также асинхронные вызовы слотов.
Метод load делает то, что вы ожидаете: устанавливает URL в представлении.Для этого не нужно обрабатывать события.Но если вы не закончите с exec_
, то не будет ничего, чтобы иметь дело с событиями или препятствовать тому, чтобы программа просто заканчивала и выходила.
Метод exec_
, как термин 'событие'loop 'указывает, циклы, пока приложение не закроется.Функции, вызываемые после этого, не будут вызываться до тех пор, пока не завершится цикл обработки событий.
Если вы хотите «что-то делать» в своей программе, обычно вы работаете в рамках событийно-управляемой среды.Чтобы загрузить страницы, вы можете подключить кнопку, которая будет запускать событие, которая связана с функцией, которая загружает другую страницу.Или вы можете настроить таймер, который вызывает функцию, которая устанавливает URL-адрес из списка.
Пример подключения сигналов и слотов (от здесь ):
# Define a new signal called 'trigger' that has no arguments.
trigger = QtCore.pyqtSignal()
def connect_and_emit_trigger(self):
# Connect the trigger signal to a slot.
self.trigger.connect(self.handle_trigger)
# Emit the signal.
self.trigger.emit()
def handle_trigger(self):
# Show that the slot has been called.
print "trigger signal received"