Hva er UI-filformatet?
En .ui-fil er en XML-basert beskrivelse av skjema-layout, opprettet og redigert av Qt Designer, den visuelle GUI-editoren som følger med Qt Creator. Den definerer widget-hierarkiet, egenskaper, signal/slot-forbindelser og ressursreferanser som utgjør en Qt Widgets-dialog eller et vindu - men er kun et designverktøy og blir aldri distribuert ved kjøretid.
Filen starter med en standard XML-deklarasjon etterfulgt av et <ui version="4.0"> rotelement. Inni speiler et <widget>-tre widget-hierarkiet, der hver node inneholder <property>-elementer for geometri, tekst, fonter og andre attributter. Signal/slot-forbindelser er listet i en <connections>-blokk; egendefinerte widget-registreringer vises under <customwidgets>; innebygde ressursaliaser ligger i <resources>.
Ved bygging leser Qts uic (User Interface Compiler) .ui-filen og genererer en C++ header - for eksempel ui_mainwindow.h - som instansierer og konfigurerer alle widgets. Denne genererte headeren blir #include-et av den tilhørende .cpp-implementasjonsfilen. XML-skjemaet har vært stabilt siden Qt 4 (2005) og er fullt støttet i Qt 5 og Qt 6; alle tre versjoner beholder attributtstrengen version="4.0" for bakoverkompatibilitet.
For moderne .qml-baserte Qt Quick-grensesnitt brukes ikke .ui-filer. De forblir standarden for tradisjonelle Qt Widgets-applikasjoner på Windows, Linux, macOS, Android, iOS og innebygde systemer. Qt Designer (også tilgjengelig som et frittstående verktøy) og enhver tekstredigerer for XML kan åpne .ui-filer.
Sikkerhet og trygghet
RISIKO: LOW.ui-filer er ren XML og utgjør ingen risiko for kjøring når de åpnes i en tekstredigerer. I et byggemiljø blir uic-generert kode kompilert inn i applikasjonen - men selve .ui-filen inneholder ingen kjørbar kode; all logikk ligger i den tilhørende .cpp-filen.
Formatdetaljer
i et nøtteskall- FLUID (FLTK User Interface Designer) fil - FLTKs FLUID-verktøy bruker primært .fl-filer, men noen eldre prosjekter eller varianter kan bruke .ui for FLTK GUI-beskrivelser.
- Generisk UI-beskrivelse / andre rammeverk - Noen andre GUI-verktøysett (wxFormBuilder, Glade for GTK) kan bruke filendelsen .ui; Glade XML-filer for GTK er også .ui (GtkBuilder-format).
Programmer som åpner UI-filer
Tekniske detaljer
dyp spesifikasjon| Beholderformat | XML-dokument (UTF-8 ren tekst) |
| Rotelement | <ui version="4.0"> - versjonsstrengen er uendret siden Qt 4 for bakoverkompatibilitet på tvers av Qt 4, 5 og 6 |
| Widget-hierarki | Nøstede <widget>-elementer med typede <property>-underelementer (geometri, tekst, font, palett med mer) |
| Signal/slot-koding | <connections>-blokk som lister opp senderobjekt, signalnavn, mottakerobjekt og slotnavn |
| Ressursreferanser | <resources>-blokk som lister opp .qrc-filaliaser for ikoner og andre ressurser |
| Støtte for egendefinerte widgets | <customwidgets>-blokk som deklarerer klassenavn, include-header og container-flagg for ikke-standard widgets |
| Kompilering ved bygging | Qts uic (User Interface Compiler) genererer en C++ header (f.eks. ui_mainwindow.h) fra .ui-filen under bygging |
| Distribusjon ved kjøretid | Kun fil for designtid; blir ikke distribuert - kompilert bort til generert C++-kode under bygging |
| MIME-type | application/x-designer |
| Koding | UTF-8 ren tekst; ingen binære seksjoner |
| Plattformstøtte | Windows, Linux, macOS, Android (Qt for Android), iOS (Qt for iOS), innebygd Linux |
| Prosjektintegrasjon | Referert av .pro / .pri prosjektfiler via FORMS-variabelen; også støttet via qt_add_ui() i Qt 6 CMake-bygg |
| Utgitt | ~1999 (Qt Designer introduced with Qt 2.x) |
| Siste versjon | Qt 6 UI format (2020+); backward compatible with Qt 4/5 UI files |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | doc.qt.io |
UI-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om UI-filer.