From 3b57289e6d8040bbb6747494bcc754bcd8751dfe Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Mon, 28 May 2018 17:07:03 +0200 Subject: Doc: Document the tabbed browser demo - Added docstrings to the examples sources to autogenerate the docs for the different parts. - Updated the conf.py.in to include sphinx.ext.viewcode to generate html for every source file of the example. Change-Id: I668c55070556ca49d12d38c8ec83f09313bffc36 Reviewed-by: Cristian Maureira-Fredes Reviewed-by: Paul Wicking Reviewed-by: Friedemann Kleint --- sources/pyside2/doc/conf.py.in | 4 +- .../tutorials/examples/images/tabbedbrowser.png | Bin 0 -> 51262 bytes .../doc/tutorials/examples/tabbedbrowser.rst | 57 +++++++++++++++++++++ sources/pyside2/doc/tutorials/index.rst | 21 ++++++-- 4 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 sources/pyside2/doc/tutorials/examples/images/tabbedbrowser.png create mode 100644 sources/pyside2/doc/tutorials/examples/tabbedbrowser.rst (limited to 'sources/pyside2/doc') diff --git a/sources/pyside2/doc/conf.py.in b/sources/pyside2/doc/conf.py.in index 26d99c7ed..50d2028e7 100644 --- a/sources/pyside2/doc/conf.py.in +++ b/sources/pyside2/doc/conf.py.in @@ -18,6 +18,7 @@ import sys, os # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.append('@CMAKE_CURRENT_SOURCE_DIR@') sys.path.append('@pyside_BINARY_DIR@') +sys.path.append('@CMAKE_CURRENT_SOURCE_DIR@/../../../examples/webenginewidgets/tabbedbrowser') # -- General configuration ----------------------------------------------------- @@ -26,7 +27,8 @@ sys.path.append('@pyside_BINARY_DIR@') #extensions = ['sphinx.ext.todo', 'sphinx.ext.graphviz', 'inheritance_diagram', 'pysideinclude'] extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.ifconfig', 'sphinx.ext.coverage', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', -'sphinx.ext.graphviz', 'inheritance_diagram', 'pysideinclude'] +'sphinx.ext.graphviz', 'inheritance_diagram', 'pysideinclude', +'sphinx.ext.viewcode'] rst_epilog = """ .. |project| replace:: Qt for Python diff --git a/sources/pyside2/doc/tutorials/examples/images/tabbedbrowser.png b/sources/pyside2/doc/tutorials/examples/images/tabbedbrowser.png new file mode 100644 index 000000000..655d6b57f Binary files /dev/null and b/sources/pyside2/doc/tutorials/examples/images/tabbedbrowser.png differ diff --git a/sources/pyside2/doc/tutorials/examples/tabbedbrowser.rst b/sources/pyside2/doc/tutorials/examples/tabbedbrowser.rst new file mode 100644 index 000000000..8a2e03110 --- /dev/null +++ b/sources/pyside2/doc/tutorials/examples/tabbedbrowser.rst @@ -0,0 +1,57 @@ +********************** +Web Browser Example +********************** + +The example demonstrates the power and simplicity offered by |project| to developers. +It uses several |pymodname| submodules to offer a fluid and modern-looking UI that +is apt for a web browser. The application offers the following features: + * Tab-based browsing experience using QTabWidget. + * Download manager using a QProgressBar and QWebEngineDownloadItem. + * Bookmark manager using QTreeView. + +.. image:: images/tabbedbrowser.png + +The application's code is organized in several parts for ease of maintenance. For example, +:code:`DownloadWidget` provides a widget to track progress of a download item. In the following +sections, these different parts are discussed briefly to help you understand the Python code behind +them a little better. + +BookmarkWidget or :code:`bookmarkwidget.py` +=========================================== + +This is a widget that docks to the left of the main window by default. It inherits QTreeView and +loads a default set of bookmarks using a QStandardItemModel. The model is populated at startup +for a JSON file, which is updated when you add or remove bookmarks from the tree view. + +.. automodule:: bookmarkwidget + :members: + +DownloadWidget or :code:`downloadwidget.py` +============================================= + +This is a widget that tracks progress of the download item. It inherits QProgressBar to display +progress of the QWebEngineDownloadItem instance, and offers a context-menu with actions such as Launch, +Show in folder, Cancel, and Remove. + +.. automodule:: downloadwidget + :members: + +BrowserTabWidget or :code:`browsertabwidget.py` +=============================================== + +This is a widget that includes a QWebEngineView to enable viewing web pages. It docks to the right +of BookmarkWidget in the main window. + +.. automodule:: browsertabwidget + :members: + +MainWindow or :code:`main.py` +============================= + +This is the parent window that collates all the other widgets together to offer the complete package. + +.. automodule:: main + :members: + + +Try running the example to explore it further. diff --git a/sources/pyside2/doc/tutorials/index.rst b/sources/pyside2/doc/tutorials/index.rst index 2e97612aa..18bac57fd 100644 --- a/sources/pyside2/doc/tutorials/index.rst +++ b/sources/pyside2/doc/tutorials/index.rst @@ -1,7 +1,22 @@ -PySide tutorials -**************** +PySide examples and tutorials +***************************** -A collection of tutorials and "walkthrough" guides are provided with PySide to help new users get started with PySide development. These documents were ported from C++ to Python and cover a range of topics, from basic use of widgets to step-by-step tutorials that show how an application is put together. +A collection of examples and tutorials with "walkthrough" guides are +provided with |project| to help new users get started. These +documents were ported from C++ to Python and cover a range of topics, +from basic use of widgets to step-by-step tutorials that show how an +application is put together. + +Examples and demos +=================== + +.. toctree:: + :maxdepth: 1 + + examples/tabbedbrowser.rst + +Tutorials +========== .. toctree:: :maxdepth: 2 -- cgit v1.2.3 From a040c633b96e9ee4ff6a15af83214369768a30ac Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Fri, 1 Jun 2018 11:49:43 +0200 Subject: Doc: Update the html_title and download.qt.io URL Change-Id: I9b923d6fefbfae4efcf63f7459cf1ee89fb08f19 Reviewed-by: Friedemann Kleint --- sources/pyside2/doc/conf.py.in | 2 +- sources/pyside2/doc/gettingstarted.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'sources/pyside2/doc') diff --git a/sources/pyside2/doc/conf.py.in b/sources/pyside2/doc/conf.py.in index 50d2028e7..2eb4e6bf3 100644 --- a/sources/pyside2/doc/conf.py.in +++ b/sources/pyside2/doc/conf.py.in @@ -114,7 +114,7 @@ html_theme_path = ['@CMAKE_CURRENT_SOURCE_DIR@/_themes'] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -html_title = u'PySide2 documentation' +html_title = u'Qt for Python (Technology Preview)' # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None diff --git a/sources/pyside2/doc/gettingstarted.rst b/sources/pyside2/doc/gettingstarted.rst index 55212b1ba..f24051c18 100644 --- a/sources/pyside2/doc/gettingstarted.rst +++ b/sources/pyside2/doc/gettingstarted.rst @@ -12,7 +12,7 @@ With these installed, you are ready to install the |project| packages using the pip wheel. Run the following command from your command prompt to install:: - python -m pip install --index-url=http://download.qt.io/snapshots/ci/pyside/5.9/latest pyside2 --trusted-host download.qt.io + python -m pip install --index-url=http://download.qt.io/snapshots/ci/pyside/5.11/latest pyside2 --trusted-host download.qt.io Now that you have |project| installed, you can test your setup by running the following Python constructs to print version information: -- cgit v1.2.3 From d059b89abf24159205c4b7d9d59cddfd47a42a66 Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Fri, 1 Jun 2018 14:55:35 +0200 Subject: Doc: Include webengine module docs Change-Id: I9ea0bed7709265c89e1bf38624024e61ee07adc7 Reviewed-by: Friedemann Kleint --- sources/pyside2/doc/index.rst | 4 ++++ sources/pyside2/doc/qtmodules/pyside-qtwebenginecore.qdocconf.in | 3 +++ sources/pyside2/doc/qtmodules/pyside-qtwebenginewidgets.qdocconf.in | 3 +++ 3 files changed, 10 insertions(+) create mode 100644 sources/pyside2/doc/qtmodules/pyside-qtwebenginecore.qdocconf.in create mode 100644 sources/pyside2/doc/qtmodules/pyside-qtwebenginewidgets.qdocconf.in (limited to 'sources/pyside2/doc') diff --git a/sources/pyside2/doc/index.rst b/sources/pyside2/doc/index.rst index d505d5759..fa1daec00 100644 --- a/sources/pyside2/doc/index.rst +++ b/sources/pyside2/doc/index.rst @@ -61,6 +61,10 @@ Qt Modules - `Qt AxContainer `_ Provides QAxObject and QAxWidget which act as containers for COM objects and ActiveX controls. + * - `Qt WebEngineCore `_ + Provides the core functionality to integrate web content + - `Qt WebEngineWidgets `_ + Provides widgets that can handle web content * - `Qt WebChannel `_ Enables peer-to-peer communication between a server and a client (HTML/JavaScript or QML application). diff --git a/sources/pyside2/doc/qtmodules/pyside-qtwebenginecore.qdocconf.in b/sources/pyside2/doc/qtmodules/pyside-qtwebenginecore.qdocconf.in new file mode 100644 index 000000000..038c803df --- /dev/null +++ b/sources/pyside2/doc/qtmodules/pyside-qtwebenginecore.qdocconf.in @@ -0,0 +1,3 @@ +include(@QT_SRC_DIR@/../qtwebengine/src/webengine/doc/qtwebengine.qdocconf) +includepaths += -I @QT_SRC_DIR@/../qtwebengine/src/webengine/doc +include(../pyside-config.qdocconf) diff --git a/sources/pyside2/doc/qtmodules/pyside-qtwebenginewidgets.qdocconf.in b/sources/pyside2/doc/qtmodules/pyside-qtwebenginewidgets.qdocconf.in new file mode 100644 index 000000000..038c803df --- /dev/null +++ b/sources/pyside2/doc/qtmodules/pyside-qtwebenginewidgets.qdocconf.in @@ -0,0 +1,3 @@ +include(@QT_SRC_DIR@/../qtwebengine/src/webengine/doc/qtwebengine.qdocconf) +includepaths += -I @QT_SRC_DIR@/../qtwebengine/src/webengine/doc +include(../pyside-config.qdocconf) -- cgit v1.2.3