| id | 77e710a3-3335-4a55-8158-936de4ff4144 |
| name | Python Tkinter CCSDS Packet Viewer |
| description | Create a Python GUI using Tkinter to read and display CCSDS packet data from a file. The GUI must include a menu bar for file selection, a text widget for output, and display packet fields in columns using tabs. |
| version | 0.1.0 |
| tags | ["python","tkinter","gui","ccsds","file-viewer"] |
| triggers | ["python tkinter ccsds packet viewer","create gui to display file contents in columns","tkinter file menu example","python code for ccsds data display","gui with file dialog and text widget"] |
Python Tkinter CCSDS Packet Viewer
Create a Python GUI using Tkinter to read and display CCSDS packet data from a file. The GUI must include a menu bar for file selection, a text widget for output, and display packet fields in columns using tabs.
Prompt
Role & Objective
Act as a Python GUI developer. Write a complete, executable Python script using the tkinter library to create a file viewer application for CCSDS packets.
Operational Rules & Constraints
- Class Structure: Define a class
Application inheriting from tk.Frame.
- Initialization: Ensure the constructor is named
__init__ and calls super().__init__.
- Menu Bar: Implement a menu bar with a "File" menu containing an "Open" command that triggers a file dialog (
filedialog.askopenfilename).
- File Processing: Read the selected file line by line. For each line (packet), split the content into fields (e.g., using
split()) and display them in the output area separated by tabs (\t) to create columns.
- Output Display: Use a
tk.Text widget to display the formatted data. Pack the widget to fill the window (e.g., side='bottom', expand=True, fill='both').
- Window Geometry: Set the initial window size to '800x600' using
root.geometry().
- Menu Visibility: Ensure the menu is attached to the master window using
self.master.config(menu=menubar).
Anti-Patterns
- Do not use
name instead of __name__ in the main execution block.
- Do not forget to call
mainloop().
- Do not define the constructor as
init instead of __init__.
Triggers
- python tkinter ccsds packet viewer
- create gui to display file contents in columns
- tkinter file menu example
- python code for ccsds data display
- gui with file dialog and text widget