PyQt UI Reference

Qt UI Elements

BlackboardSync Qt GUI.


A graphical interface using Qt for BlackboardSync. Full documentation available at <https://blackboardsync.readthedocs.io>.

copyright:
  1. 2024, Jacob Sánchez Pérez.

license:

GPL v2.0, see LICENSE for more details.

class blackboard_sync.qt.LoginWebView(help_url: str)[source]

Login to a Blackboard instance using a browser.

class Signals[source]
login_complete

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

cancel_watchdog() None[source]
clear_browser() None[source]
property cookies: RequestsCookieJar

Contains session cookies of the current session.

home() None[source]
init_signals() None[source]
load(start_url: str | None, target_url: str | None) None[source]
restore() None[source]

Restore web view to original state.

show_help() None[source]
slot_cache_cleared() None[source]

Add the cookie to our own jar.

slot_help() None[source]
slot_load_finished() None[source]

Check if we have reached the target url.

property url: str

URL of current website.

class blackboard_sync.qt.SettingsWindow[source]

Tweaks main application preferences.

class Signals[source]
log_out

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

save

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

setup_wiz

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

class SyncPeriod(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
HALF_HOUR = 1800
ONE_HOUR = 3600
SIX_HOURS = 21600
property download_location: Path

Current download location.

property sync_frequency: int

Seconds to wait between each sync job.

property username: str

Username of current session.

property version: str | None
class blackboard_sync.qt.SetupWizard(support_url: str, institutions: list[str], selected: int | None = None)[source]

Guide user through initial setup process.

class Pages(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]
DOWNLOAD_LOCATION = 2
DOWNLOAD_SINCE = 3
INSTITUTION = 1
INTRO = 0
LAST = 3
property download_location: Path

Download location selected by user.

initializePage(self, id: int)[source]
property institution: str

Name of selected institution.

property institution_index: int

Index of selected institution.

property min_year: int | None

Minimum year selected by user.

register_fields() None[source]
validateCurrentPage(self) bool[source]
class blackboard_sync.qt.SyncTrayIcon[source]

Control the application from the system tray.

class Signals[source]
force_sync

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

open_dir

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

quit

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

reset_setup

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

settings

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

show_menu

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

notify(evt: Event) None[source]
set_currently_syncing(syncing: bool) None[source]
set_last_synced(value: datetime | None) None[source]
set_logged_in(value: bool) None[source]