1 / 23

QT Intro.

QT Intro. 김기형 (kkhsoft@sparcs.org) http://kkhblog.sparcs.net. GUI in Linux. GUI in Linux. Program by QT. What is QT?. Especially, for GUI progrmming For database, networking, XML, OpenGL, etc. Cross Platform.

cecily
Download Presentation

QT Intro.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. QT Intro. 김기형 (kkhsoft@sparcs.org) http://kkhblog.sparcs.net

  2. GUI in Linux Made and Designed by KKHSOFT. SPARCS

  3. GUI in Linux Made and Designed by KKHSOFT. SPARCS

  4. Program by QT Made and Designed by KKHSOFT. SPARCS

  5. What is QT? • Especially, for GUI progrmming • For database, networking, XML, OpenGL, etc. • Cross Platform Qt is a comprehensive C++ application development framework. It includes a class library and tools for cross-platform development and internationalization. Made and Designed by KKHSOFT. SPARCS

  6. QT Application Source Code QT API Xlib GDI Carbon Embedded Linux Unix/Linux MS Windows Mac OS X What is QT? • “Write Once, Run Everywhere” • Open Source • Free in Linux, Unix (http://www.trolltech.com/download/qt/x11.html) • Free in both Windows and Mac recently (http://www.trolltech.com/download/qt/windows.html) • QPL(Q Public License) with GPL • Free except for commercial use Made and Designed by KKHSOFT. SPARCS

  7. Before Start.. • Knowledge about C++ • At first, you can use C • Recommend C seminar leaded by battery (battery@sparcs.org) • Understanding of OOP • How to install • By yourself.. Made and Designed by KKHSOFT. SPARCS

  8. How to use • QApplication • Necessary header file • Widget in QT • Include [widget_name].h • Interface that provide control • QObject • Basic class • Provide signal & slot #include <qapplication.h> #include <qlabel.h> Made and Designed by KKHSOFT. SPARCS

  9. How to use int main(int argc, char *argv[]) { QApplication app (argc, argv); QLabel *label = new QLabel("Hello Qt!", 0); app.setMainWidget(label); label->show(); return app.exec(); } • Why qmake? • Just easy… qmake -project hello.pro qmake hello.pro Makefile Made and Designed by KKHSOFT. SPARCS

  10. How to use • Signal & Slot • Connect(), disconnect() • Moc (Meta Object Compiler) • Make source file that C++ compiler can understand from your well-defined file (generally from header file) Made and Designed by KKHSOFT. SPARCS

  11. How to use • Header file class FindDialog : public QDialog { Q_OBJECT public: FindDialog(QWidget *parent=0, const char *name=0); signals: void findNext(const QString &str, bool caseSensitive); … private slots: void findClicked(); void enableFindButton(const QString &text); private: … }; Made and Designed by KKHSOFT. SPARCS

  12. How to use • Source file (cpp) #include "finddialog.h” … FindDialog::FindDialog(QWidget *parent, const char *name) : QDialog(parent, name) { … connect(findButton, SIGNAL(clicked()), this, SLOT(findClicked())); … void FindDialog::findClicked() { QString text=lineEdit->text(); bool caseSensitive = caseCheckBox->isOn(); if (backwardCheckBox->isOn()) emit findPrev(text,caseSensitive); else emit findNext(text,caseSensitive); } Made and Designed by KKHSOFT. SPARCS

  13. Qt Designer • Powerful GUI layout and forms builder • Save time to make UI • Easy for connection Made and Designed by KKHSOFT. SPARCS

  14. Qt Designer • How to make Connections • How to modify Source • Right click on the widget Made and Designed by KKHSOFT. SPARCS

  15. Qt Designer Made and Designed by KKHSOFT. SPARCS

  16. Qt Designer • Very useful! • Make layout, form and connection • Don’t program in Qt designer! • Just design and use vim Made and Designed by KKHSOFT. SPARCS

  17. Qt-embedded • Use Qt for Embedded Programming • For mobile, PDA and embedded linux QT Application Source Code Qt-embedded-x86 Qt-embedded Binary file for X86 Binary file for Embedded Linux redirection porting Virtual Frame Buffer Embedded Machine Made and Designed by KKHSOFT. SPARCS

  18. Qt-embedded • qt-embedded-free • Qvfb, qt-embedded compiler • QT Virtual Frame Buffer • Embedded machine use Frame buffer, not X • Test in host before porting application qvfb –width 640 –height 480 –depth 32 & Made and Designed by KKHSOFT. SPARCS

  19. Qt-embedded • Execution in qvfb • Unexpected Error • With sudo.. ./demofile -qws Semop unlock failure 부적절한 인수 Semop lock failure 부적절한 인수 Made and Designed by KKHSOFT. SPARCS

  20. Others from Qt • Qtopia • an application platform and user interface for embedded Linux • Binding for other Language • Python, Ruby, Perl, etc. • Qt Linguist, Qt Assistant, QSA, and so on. Made and Designed by KKHSOFT. SPARCS

  21. Further Work • Qt study..? • More than 5 people who wanna learn more about Qt • Qt Embedded Programming..? • Other members who have interest • Need more support • More specific Qt seminar • Enough time, many attendances • But, 귀차니즘… Made and Designed by KKHSOFT. SPARCS

  22. Reference • Trolltech • http://www.trolltech.com • Qt 4 Open Source Edition download • http://www.trolltech.com/download/opensource.html • Qt 4.1 Refernce Document • http://doc.trolltech.com/4.1/ • Qt Community site • http://www.qtcentre.org Made and Designed by KKHSOFT. SPARCS

  23. Thank you! Any Question..? Made and Designed by KKHSOFT. SPARCS

More Related