mirror of
https://github.com/suyu-emu/TSGC.git
synced 2026-09-21 14:18:01 -07:00
Added Qt GUI page and a blank Page about the Doc
This commit is contained in:
Generated
+3
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="EMPTY_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectResources">
|
||||
<xml-schema-version>XMLSchema_1_1</xml-schema-version>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/TSGC.iml" filepath="$PROJECT_DIR$/.idea/TSGC.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE categories
|
||||
SYSTEM "https://resources.jetbrains.com/writerside/1.0/categories.dtd">
|
||||
<categories>
|
||||
<category id="wrs" name="Writerside documentation" order="1"/>
|
||||
</categories>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE buildprofiles SYSTEM "https://resources.jetbrains.com/writerside/1.0/build-profiles.dtd">
|
||||
<buildprofiles xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/build-profiles.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
||||
<variables></variables>
|
||||
<build-profile instance="tsgc">
|
||||
<variables>
|
||||
<noindex-content>true</noindex-content>
|
||||
</variables>
|
||||
</build-profile>
|
||||
|
||||
</buildprofiles>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 125 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 67 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 341 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 119 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 306 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 274 KiB |
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE rules SYSTEM "https://resources.jetbrains.com/writerside/1.0/redirection-rules.dtd">
|
||||
<rules>
|
||||
<!-- format is as follows
|
||||
<rule id="<unique id>">
|
||||
<accepts>page.html</accepts>
|
||||
</rule>
|
||||
-->
|
||||
<rule id="78eaee43">
|
||||
<description>Created after removal of "Qt GUI in Suyu" id="qt-gui-in-suyu" from The Suyu Grand Codex
|
||||
</description>
|
||||
<accepts>Qt-GUI-in-Suyu-id-qt-gui-in-suyu.html</accepts>
|
||||
</rule>
|
||||
<rule id="88c5d6">
|
||||
<description>Created after removal of "Suyu's Qt-based GUI Framework" from The Suyu Grand Codex</description>
|
||||
<accepts>Suyu-s-Qt-based-GUI-Framework.html</accepts>
|
||||
</rule>
|
||||
</rules>
|
||||
@@ -0,0 +1,84 @@
|
||||
# Suyu-GUI-Framework
|
||||
|
||||
This document provides information for developers who want to contribute to the Suyu emulator project,
|
||||
particularly focusing on the GUI aspects.
|
||||
|
||||
## Qt GUI in Suyu
|
||||
|
||||
The Suyu emulator utilizes the Qt framework for its graphical user interface (GUI).
|
||||
This section provides an overview of how the Qt GUI functions within the project.
|
||||
|
||||
## Qt GUI Components
|
||||
|
||||
Qt is a powerful and versatile framework for creating cross-platform graphical user interfaces (GUIs).
|
||||
It provides a rich set of tools and classes that make GUI development efficient and enjoyable.
|
||||
This section provides a broad overview of Qt's core concepts and how it implements GUIs.
|
||||
|
||||
### Core Concepts
|
||||
|
||||
* **Widgets:**
|
||||
The fundamental building blocks of a Qt GUI are widgets. Widgets are visual elements, such as buttons, labels, text
|
||||
boxes, and windows. Qt provides a wide variety of pre-built widgets, and you can also create your own custom widgets.
|
||||
|
||||
* **Layouts:**
|
||||
Layouts manage the arrangement and positioning of widgets within a window or container. Qt offers various layout
|
||||
managers, including vertical layouts (`QVBoxLayout`), horizontal layouts (`QHBoxLayout`), and grid layouts
|
||||
(`QGridLayout`). Layouts ensure that your GUI adapts to different window sizes and screen resolutions.
|
||||
|
||||
* **Signals and Slots:**
|
||||
Qt uses a signal and slot mechanism for communication between objects. Signals are emitted by objects when certain
|
||||
events occur (e.g., a button click). Slots are functions that are connected to signals and are executed when the
|
||||
corresponding signal is emitted. This mechanism allows you to define the behavior of your GUI in response to user
|
||||
interactions.
|
||||
|
||||
* **Events:**
|
||||
Qt applications are event-driven. Events are occurrences or actions, such as mouse clicks, key presses, or window
|
||||
resize events. Qt provides an event system for handling and responding to these events.
|
||||
|
||||
* **Painting:** Qt allows you to customize the appearance of widgets by painting on them. You can use the
|
||||
`QPainter` class to draw shapes, text, and images on widgets, giving you fine-grained control over the look and
|
||||
feel of your GUI.
|
||||
|
||||
### GUI Implementation
|
||||
|
||||
Qt offers two main approaches to implementing GUIs:
|
||||
|
||||
* **Qt Widgets:**
|
||||
This is the traditional approach, using C++ classes to create and manage widgets and layouts.
|
||||
It provides a procedural programming style for GUI development.
|
||||
|
||||
* **Qt Quick (QML):**
|
||||
This is a more declarative approach, using the QML language (a JavaScript-based language) to define the GUI.
|
||||
QML allows you to create dynamic and visually appealing interfaces with less code.
|
||||
|
||||
### Key Classes
|
||||
|
||||
Some of the essential classes in Qt's GUI module include:
|
||||
|
||||
* **`QWidget`:** The base class for all widgets.
|
||||
* **`QApplication`:** The main application class.
|
||||
* **`QMainWindow`:** A class for creating main application windows.
|
||||
* **`QDialog`:** A class for creating dialog boxes.
|
||||
* **`QPushButton`:** A class for creating buttons.
|
||||
* **`QLabel`:** A class for displaying text or images.
|
||||
* **`QLineEdit`:** A class for single-line text input.
|
||||
* **`QVBoxLayout`, `QHBoxLayout`, `QGridLayout`:** Classes for managing layouts.
|
||||
|
||||
### Benefits of Qt GUI
|
||||
|
||||
* **Cross-Platform:**
|
||||
Qt GUIs can run on various operating systems, including Windows, macOS, Linux, and mobile platforms.
|
||||
* **Native Look and Feel:**
|
||||
Qt applications can have a native look and feel on different platforms.
|
||||
* **Rich Functionality:**
|
||||
Qt provides a comprehensive set of widgets and tools for building feature-rich GUIs.
|
||||
* **Extensibility:**
|
||||
You can create custom widgets and extend Qt's functionality.
|
||||
* **Performance:**
|
||||
Qt GUIs are generally performant and efficient.
|
||||
|
||||
This overview provides a solid foundation for understanding Qt's core
|
||||
concepts and how it implements GUIs. You can further expand this section
|
||||
in your documentation by providing more detailed explanations of specific
|
||||
concepts, examples of GUI code, and guidance on choosing the right approach
|
||||
(Qt Widgets or Qt Quick) for different scenarios.
|
||||
@@ -0,0 +1 @@
|
||||
# About The Suyu Grand Codex
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE instance-profile
|
||||
SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd">
|
||||
|
||||
<instance-profile id="tsgc"
|
||||
name="The Suyu Grand Codex"
|
||||
start-page="starter-topic.md">
|
||||
|
||||
<toc-element topic="starter-topic.md"/>
|
||||
<toc-element topic="Suyu-GUI-Framework.md"/>
|
||||
</instance-profile>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE vars SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd">
|
||||
<vars>
|
||||
<var name="product" value="Writerside"/>
|
||||
</vars>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE ihp SYSTEM "https://resources.jetbrains.com/writerside/1.0/ihp.dtd">
|
||||
|
||||
<ihp version="2.0">
|
||||
<topics dir="topics" web-path="topics"/>
|
||||
<images dir="images" web-path="images"/>
|
||||
<instance src="tsgc.tree" version="0.0.0"/>
|
||||
</ihp>
|
||||
Reference in New Issue
Block a user