The SDK
Matt Ripley CSCI 5828 3/12/12
kj
The SDK Matt Ripley CSCI 5828 3/12/12 kj Executive - - PowerPoint PPT Presentation
The SDK Matt Ripley CSCI 5828 3/12/12 kj Executive Summary Qt is one of the leading GUI toolkits out there. Great cross platform support (Linux, Windows, Mac) Allows for rapid development of tools and other native
Matt Ripley CSCI 5828 3/12/12
kj
kj
framework
applications
everything (GUI, STL replacement, OpenGL bindings, Sound support, DB support)
kj
Technologies”
letter Q in Emacs. T because original versions based
and GTK.
kj
SDK
desktop environment
kj
smart phone market.
kj
writing closed source applications.
community involvement
kj
most popular languages
Qt_(framework)#Bindings
kj
vastly, hugely, mindbogglingly big it is.”
kj
kj
kj
algorithms and container classes. More Java like then C++ like.
kj
kj
scripting language
with a SQL database
rendering engine
kj
kj
kj
linearized into a power point.
understand a bit about the library.
about the best practices.
understanding the best practices and the library
kj
Application
services for Qt development
considered a window.
#include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello, world!"); label.show(); return app.exec(); }
kj
language with new keywords
Compiler.
the Q_OBJECT macro
kj
Q_OBJECT can declare signals and slots
functions.
connections are really just special call backs
needed during declaration.
kj
connected with the “connect()” macro
>AddModelButton, SIGNAL(clicked()), this, SLOT(addNewModels()));
down as follows:
receiver, slot)
kj
useful.
and receiver.
SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(newModelClicked(QListWidgetItem*)));
slot
kj
slot completes
emitted at the same time then the slots are queued and will execute in order of delivery.
kj
traditional call backs but the simplicity is worth it
receiver per second or around 1,200,000 signals to 2 receivers per second.
kj
programmatically becomes tiresome.
and UI design.
application.
kj
kj
kj
kj
kj
kj
UI
CSS
widget animations
kj
encode all strings in a resource file and tag them with a locale string.
attempts to load strings in that languages if possible.
and extend any widget
inserting basic QObjects and then promoting them to your new subclass.
kj
special features Qt apps can’t be compiled normally.
kj
a .pro file.
modules are included
code
to be be compiled
LIBS option
kj
1. Qmake *.pro -> builds a system specific makefile. Make is invoked 2. Uic (User Interface compiler) -> converts .ui files into .h and .cpp files 3. Moc (meta object compiler) -> expands all the signal and slots macros and adds extra code to glue together a project. 4. Compilation 5. Linking 6. Final executable
kj
model
kj
implementation to virtual run method
kj
provides storage for individual threads in a thread safe way
Synchronized key word in java
kj
thread pool
a new thread starts.
kj
kj
similar conventions
pool is created automatically.
kj
kj
need to subclass runnables or threads
called by the mapped function the operator is invoked.
kj
kj
images
kj
framework
don’t need a web app
kj
applications with a min of effort
Qt based tool!
kj
kj