User interfaces with PyQt
Jonas Lindemann
0:00 / 0:00
User interfaces with PyQt
116 просмотров · 9 дн. назад
Jonas Lindemann
989 подписчиков
116 просмотров · 9 дн. назад
User interfaces with PyQt
Timestamps:
00:00 - Introduction & Motivation for GUIs in Research
02:35 - Qt Architecture & Python Bindings (PySide6, PyQt6, QtPy)
05:48 - Core Concepts: Widgets & The Event Loop
12:56 - Minimal Qt Program (`QApplication`, `QWidget`, `app.exec()`)
15:58 - Subclassing `QWidget` & Window Initialization
19:47 - Adding Controls & Connecting Signals to Slots
23:08 - Handling Exceptions in Slots
27:00 - Slot Naming Conventions & Qt Signals Documentation
29:16 - Widget Properties: Visibility, Enabled State & Tooltips
32:43 - Why Layouts Matter (High DPI & Dynamic Resizing)
34:13 - Box Layouts: `QVBoxLayout` and `QHBoxLayout`
36:40 - Nesting Layouts & Adding Stretch Springs
39:41 - Grid Layouts (`QGridLayout`) & Form Layouts (`QFormLayout`)
41:58 - `QMainWindow`: Menus, Toolbars, Docks & Status Bars
44:18 - Common Widgets: Checkboxes, Sliders & Spinboxes
47:20 - Robust Numeric Input: Double Spinbox vs. Line Edit Validators
49:40 - Centralizing GUI Commands with `QAction`
53:43 - Dockable Toolbars in Qt
54:50 - Built-in Dialogs: Message Boxes & File Dialogs
57:30 - Software Architecture: Model-View-Controller (MVC)
01:00:15 - Case Study: Simply Supported Beam GUI Implementation
01:03:10 - Displaying Tabular Data: `QTableWidget` vs. `QTableView`
01:06:30 - Custom Table Models with Sorting
01:08:31 - Embedding Matplotlib Plots in Qt (`FigureCanvasQTAgg`)
01:10:10 - Real-Time Plotting with PyQtGraph & Custom 2D Graphics View
01:12:00 - Interactive 3D Visualization using PyVista & VTK
01:14:20 - Preventing GUI Freezes: Non-Blocking Computations
01:16:03 - Solving Freezes with Timers vs. Worker Threads (`QThread`)
01:17:20 - Safe Multi-Threading: Worker Architecture with Qt Signals
01:21:16 - Python GIL Considerations & Concurrency Options
01:22:04 - Designing UIs Visually: Qt Designer & Loading `.ui` Files
01:26:13 - Compiling to Executables with PyInstaller
01:27:17 - Using AI Assistants Effectively for GUI & Model Code
01:32:07 - Summary of Best Practices & Next Lecture Preview