Postopna migracija MFC aplikacije na Qt6

Diplomsko delo zajema postopek postopne migracije aplikacije, razvite na MFC ogrodju, na bolj prenosljivo ogrodje Qt. Opisuje in primerja sami jedri obeh ogrodij ter postopke za doseganje enotne zanke teh ogrodij. Razložena je tudi vmesna plast, ki predstavlja povezavo med MFC starševskimi gradniki...

Full description

Bibliographic Details
Main Author: Jemec, Matija
Other Authors: Bulić, Patricio
Format: Bachelor Thesis
Language:Slovenian
Published: 2023
Subjects:
MFC
Qt
GUI
Online Access:https://repozitorij.uni-lj.si/IzpisGradiva.php?id=152719
https://repozitorij.uni-lj.si/Dokument.php?id=178333&dn=
https://plus.cobiss.net/cobiss/si/sl/bib/165961475
https://hdl.handle.net/20.500.12556/RUL-152719
Description
Summary:Diplomsko delo zajema postopek postopne migracije aplikacije, razvite na MFC ogrodju, na bolj prenosljivo ogrodje Qt. Opisuje in primerja sami jedri obeh ogrodij ter postopke za doseganje enotne zanke teh ogrodij. Razložena je tudi vmesna plast, ki predstavlja povezavo med MFC starševskimi gradniki in gnezdenimi Qt gradniki. Za doseganje enostavnejšega gnezdenja modalnih in ne-modalnih gradnikov sta izpeljana dva razreda, ki predstavljata vmesno plast. Kot potrdilo izvedljivosti je migrirano pojavno okno aplikacije winIDEA, ki temelji na ogrodju MFC. Opisani so tudi postopki pridobivanja podatkov iz generičnih C++ struktur z uporabo posebnih opisovalnikov vrednosti. Prikazan je način pretvarjanja iz podatkovnih struktur v pripadajoča Qt vnosna polja na dialogu in obratno z uporabo opisovalnikov vrednosti. This thesis presents one approach to the gradual migration of applications based on non-portable MFC to more modern and portable Qt framework. It compares and exposes core differences between these two, describes a method of merging MFC’s message loop and Qt’s event loop in one unified loop. It also describes an intermediate layer which features two wrapper classes for modal and modeless dialogs. These classes allow easier nesting of Qt widget onto MFC parent. As a proof of concept, one dialog of application winIDEA is migrated to Qt framework. To achieve efficient, generic exchange and presentation of data on dialogs and to store changed values of the dialog entries back to the structure in memory, special structures called Data Descriptors are used.