# example_qt_interface.py import sys from PySide6.QtCore import Qt from PySide6.QtGui import QAction, QIcon from PySide6.QtWidgets import ( QApplication, QMainWindow, QWidget, QVBoxLayout, QLabel, QMenuBar, QToolBar, QSplitter, QListWidget, QTextEdit, QStatusBar, QFileDialog, QPushButton ) class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Example Qt Interface") # Create and set up the menu bar. menu_bar = QMenuBar(self) self.setMenuBar(menu_bar) # File menu. file_menu = menu_bar.addMenu("File") # Create some actions to populate the File menu. open_action = QAction("Open", self) open_action.triggered.connect(self.open_file) file_menu.addAction(open_action) save_action = QAction("Save", self) save_action.triggered.connect(self.save_file) file_menu.addAction(save_action) exit_action = QAction("Exit", self) exit_action.triggered.connect(self.close) file_menu.addAction(exit_action) # Create a toolbar and add some actions. tool_bar = QToolBar("Main Toolbar", self) tool_bar.addAction(open_action) tool_bar.addAction(save_action) self.addToolBar(Qt.TopToolBarArea, tool_bar) # Set up a status bar at the bottom. self.setStatusBar(QStatusBar(self)) self.statusBar().showMessage("Ready") # Create your central widget area. central_widget = QWidget() self.setCentralWidget(central_widget) layout = QVBoxLayout(central_widget) # A splitter as an example container that can hold multiple widgets side-by-side. splitter = QSplitter() # Left side: a simple list widget. self.list_widget = QListWidget() self.list_widget.addItem("Item A") self.list_widget.addItem("Item B") self.list_widget.addItem("Item C") splitter.addWidget(self.list_widget) # Right side: a text edit widget. self.text_edit = QTextEdit() self.text_edit.setPlainText("Type here...") splitter.addWidget(self.text_edit) layout.addWidget(splitter) # Example button in the central widget area. example_button = QPushButton("Click Me") example_button.clicked.connect(self.on_button_clicked) layout.addWidget(example_button) def open_file(self): file_name, _ = QFileDialog.getOpenFileName(self, "Open File", "", "All Files (*.*)") if file_name: self.statusBar().showMessage(f"Opened: {file_name}") def save_file(self): file_name, _ = QFileDialog.getSaveFileName(self, "Save File", "", "All Files (*.*)") if file_name: self.statusBar().showMessage(f"Saved: {file_name}") def on_button_clicked(self): self.statusBar().showMessage("Button clicked!") def main(): app = QApplication(sys.argv) window = MainWindow() window.resize(800, 600) window.show() sys.exit(app.exec()) if __name__ == "__main__": main()