Development of a desktop monitoring and control interface for the FAB ENCLOSER project using Qt Designer and Python.
Week 14 – Interface and Application Programming
Development of a desktop monitoring and control interface for the FAB ENCLOSER project using Qt Designer and Python.
Project OverviewQt Designer
During this week I developed a graphical user interface (GUI) for my final project, the FAB ENCLOSER. The objective was to create an intuitive control panel capable of displaying environmental information, monitoring the internal camera, and providing manual control over the enclosure subsystems.
The interface was designed using Qt Designer, a visual development environment that allows graphical applications to be created through drag-and-drop components without manually writing the entire interface code.
After designing the interface, the generated .ui file was converted into a Python file using the PyQt6 tool:
pyuic6 -x filename.ui -o output.py
This conversion generated the Python structure required to integrate the graphical interface with the rest of the application logic.
Interface ObjectiveFinal Project
The purpose of the interface is to provide a centralized dashboard for monitoring and controlling the enclosure remotely.
Since the FAB ENCLOSER integrates sensors, actuators, lighting, heating systems, ventilation and a camera, the user requires a simple way to visualize all information without directly interacting with the hardware.
The interface was therefore designed around four main functions:
Environmental monitoring
Remote control of actuators
Live camera visualization
System status and safety management
Qt Designer WorkflowSoftware Development
Qt Designer was used as the primary development tool for creating the graphical interface. The software allows interfaces to be built visually by placing widgets inside a window and configuring their properties.
The workflow followed was:
Create a new Main Window project.
Define the general layout structure.
Add containers and frames.
Insert buttons, labels and display panels.
Customize colors, fonts and stylesheets.
Save the interface as a .ui file.
Convert the interface to Python using pyuic6.
One of the main advantages of Qt Designer is that modifications can be performed visually without modifying Python code directly, significantly accelerating interface development.
How the Interface Was BuiltStep by Step
1. Main Window
The first step was creating the main application window. This window serves as the container for all widgets and system controls.
2. Left Navigation Menu
A vertical navigation panel was added on the left side of the application. This section contains the main navigation buttons:
Dashboard
Camera
Control
Alerts
These buttons are intended to allow navigation between future application pages.
3. Environmental Monitoring Cards
Two information cards were placed at the top of the dashboard:
Temperature display
Humidity display
Labels were configured to show real-time sensor readings coming from the enclosure electronics.
4. Manual Control Buttons
Three large action buttons were created:
Heater ON/OFF
Ventilation
Lights
These buttons provide direct control over the main systems inside the enclosure.
5. Camera Area
A large central frame was created to display the live video feed coming from the Raspberry Pi camera.
This section occupies the largest area of the dashboard because visual monitoring is one of the most important functions of the project.
6. Status Panel
A dedicated system status section was added to provide visual feedback about the current operating state.
The status panel contains:
Current operating condition
Pause printing button
Emergency stop button
These controls are critical for safety and remote operation.
Interface ComponentsWidgets Used
Qt Widget
Purpose
QMainWindow
Main application window
QFrame
Section containers and panels
QLabel
Temperature, humidity and status display
QPushButton
Control buttons and navigation menu
Layouts
Automatic organization of components
Stylesheets
Custom visual appearance
Final InterfaceFAB ENCLOSER Dashboard
Final graphical user interface developed using Qt Designer.
The final interface follows a modern dashboard design with a dark theme, high contrast colors, and clearly separated control sections. This improves readability and allows critical information such as temperature and system status to be identified immediately.
UI to Python ConversionPyQt6
Once the visual design was completed, the Qt Designer file was saved as a .ui file.
To use the interface within Python, the following command was executed:
pyuic6 -x filename.ui -o output.py
This command automatically generates a Python file containing all widgets, layouts and interface definitions created in Qt Designer.
After conversion, additional functionality can be programmed using Python to connect buttons, sensors, cameras and communication systems.
Reflection
This week introduced me to graphical application development and showed how software interfaces can be integrated with digital fabrication projects. Creating the FAB ENCLOSER dashboard demonstrated how environmental monitoring, machine control and computer vision can be combined into a single application.
I learned how to use Qt Designer to rapidly create professional user interfaces, how to organize widgets using layouts, and how to convert visual designs into executable Python applications using PyQt6.
This interface will become the primary control center for my final project, allowing users to interact with the enclosure remotely through a simple and intuitive graphical environment.