C++ Programming with Qt 3

Size: px
Start display at page:

Download "C++ Programming with Qt 3"

Transcription

1 C++ Programming with Qt Developing Applications using Qt Classes...3 Hello Qt! application...3 Classes...3 Code...4 Compiling & Running...4 Quit application (Event handling)...5 Classes...5 Code...5 Compiling & Running...6 Numbers application (Synchronization)...6 Task...6 Arrangement...6 Modularization...7 Classes...7 Definition of the Form class...7 Implementation of the Form class...8 The application s main program...8 Creating custom slots...8 Definition of Custom Slot: sayasword(int)...9 Implementation of Custom Slot: sayasword(int)...10 The application s project file...10 Compiling & Running...11 Memory management, parent-child relationship...11 Layout application (Arrangement)...12 Layout Manager...12 Laying Out of the Form...12 Memory Managament, Parent-Children relationship...12 The Form Class using Layout Manager s Classes...13 Form Class s implementation with Layout Classes...13 The application s main program...14 The Application s Project File...14 Compiling & Running...14 Creating Application Using Qt Designer...15 The.ui file and the generated code...15 Extending the functionality of the form...16 The subclassing approach...16 The ui.h extension approach...16 Construction and destruction...17 Words application (Custom slot)...17 Creating the Words project...17 Creating the Main Window (Form)...17 The Form s Design...18 The Form s Arrangement (Layout)...18 Creating the main program (main.cpp)...18 Inserting Variable into the Project...19 initwords() function...19 init() function...20 CEEPUS H81 Network Page 1

2 Connecting the widgets...20 Creating Custom Slot: sayasword(int)...20 The sayasword(int) function s implementcation...21 The application s project file (words.pro)...21 Compiling & Running...21 Workshop...21 Quiz...21 Exercises...21 Workbook s programs can be downloaded from the people.inf.elte.hu/nacsa/qt/lessons/ site. Examples are created on Qt Prepared by: Rozália Szabó-Nacsa [email protected] home page: people.inf.elte.hu/nacsa Documentations: Jasmin Blanchette, Mark Summerfield: C++ GUI Programming with Qt 3 Daniel Solin: Qt Programming Customizing and Integrating Qt Designer, Quick Start Budapest, April CEEPUS H81 Network Page 2

3 Qt is a complete C++ application development framework. It includes a class library, tools for cross-platform development and internationalization. There are a few different so-called toolkits you can use to create graphical program in Linux, however Qt is one of the more popular ones. Because of Qt s Object-Oriented hierarchy, its good structure, its well-developed widgets, and the fact that it includes many other functions than just for creating graphical interfaces, makes it a good choice for beginners as well as experts. Qt is also the toolkit used by KDE desktop environment. Qt is that it available for UNIX/Linux, but also for Microsoft Windows program as well. Although Qt is made as a multiplatform toolkit, because of its powerful API, many organizations use Qt for single-platform development. For example Adobe Photoshop Album is an example of Windows application written in Qt. The Qt toolkit first became publicly available in May Qt 3.0 was released in 2001, which is available on Windows, Unix, Linux, Embedded Linux, and Mac OS X. The Qt API and tools are consistent across all supported platforms, enabling platform independent application development. Qt developers only have to learn one API to write apps that run almost anywhere. Qt applications run natively, compiled from the same source code, on all supported platforms. Qt has got a very nice online documentation. Qt s reference documentation is an essential tool for any Qt developer. It covers every class and function in Qt. Qt 3.2 includes over 400 public classes and over 6000 functions. Developing Applications using Qt Classes The Qt toolkit is a C++ class library and a set of tools for building multiplatform GUI programs using a write once, compile anywhere approach. Qt tools can be found on : site. Hello Qt! application Task: Make a Hello Qt application using Qt classes. Classes The Hello Qt application on Linux CEEPUS H81 Network Page 3

4 Code hello.cpp # include <qapplication.h> # include <qlabel.h> 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(); First we inserted the definition of used classes. Then we created a QApplication object (app), which is responsible for managing the application s resources. Having defiined the QApplication object we pass two arguments: argc, argv, because QApplication supports command-line arguments of its own. Then we created a QLabel object to display Hello Qt! and we announced this label as the application s main widget (setmainwidget()). The zero value as the second parameter of the QLabel constructor says, that this widget has no parents. Having prepared the main widget we let show it on the screen (show()). By default created widgets are not shown on the screen in order to avoid flickering. The last statement passes control of the application on to Qt. The program enters kind of stand-by mode, waiting for user actions to which the program can respond. Having closed the main window the main widget will be deleted from the heap and at the same time it disappears from the screen. You are allowed to use HTML-style text in the QLabel constructor, as well. QLabel *label = new QLabel("<h1><i>Hello</i><font color=red> Qt!</font></h1>",0); Compiling & Running We now have a main.cpp containing the main() function. Le us learn to compile, link and run the application. The qmake tool provided with Qt can create Makefile appropriate to our platform based on.pro project file. Qt Designer produces.ui files which are used to generate.h and.cpp files for the compiler to compile. The.ui files are processed by uic. Please do the next steps in order to compile & run the application: 1. Make the hello directory. 2. Enter the above code using your favorite text editor. Save it as hello.cpp in the hello directory. 3. Be in hello directory. 4. Generate the platform independent project file (hello.pro) with the next command: qmake -project 5. Generate the platform dependent make 1 file wih the next command: qmake -o Makefile hello.pro. 6. Build the program: nmake (make in Linux) 7. Run the program. (Linux:./hello; Windows: hello) This program can be downloaded from the people.inf.elte.hu/nacsa/qt/lessons/hello site. 1: Makefile is a script file for compiling, linking and building project s elements. CEEPUS H81 Network Page 4

5 Quit application (Event handling) In this example we illustrate, how to respond to a user action. This application consist of only one button. This button will be the main widget of the application. Clicking on this button (user action) the program closes (responding on an action). Closing the window the main window will be deleted automatically from the memory and from the screen, too. This example is similar to the previous one, except that we are using a button instead of text. Classes The Quit application Code quit.pro # include <qapplication.h> #include <qpushbutton.h> int main(int argc, char *argv[]) QApplication app(argc,argv); QPushButton *button = new QPushButton("Quit",0); QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit())); app.setmainwidget(button); button->show(); return app.exec(); Qt widgets are visual graphical GUI elements (control elements). They can send a signal (message) when their state have changed or when a user action occurred. We can connect these signals with special functions (slots) in order to respond on a signal. After we have connected a signal and a slot, the slot will be automatically performed whenever this signal is emitted. We can connect more slots to the same signal. In this case the order of performance is undefined. In our example we have connected the button s clicked() signal with the app s quit() slot. Please observe that we referred on the button and app via pointers. CEEPUS H81 Network Page 5

6 Compiling & Running Please do the next steps in order to compile & run the application: 1. Make the quit directory. 2. Enter the above code using any text editor. Save it as quit.cpp in the quit directory. 3. Be in quit directory. 4. Generate the platform independent project file (quit.pro) with the next command: qmake -project 5. Generate the platform dependent make file with the next command: qmake -o Makefile quit.pro. 6. Build the program: nmake (make in Linux) 7. Run the program. (Linux:./quit; Windows: quit) This program can be downloaded from the people.inf.elte.hu/nacsa/qt/lessons/quit site. Numbers application (Synchronization) This task illustrates how to create own main window and how to synchronize communication between widgets (control elements). Task Make an application which has got a Slider, a SpinBox and a TextBox. Whenever you change the value one of the widgets the remainder widgets must automatically change and show this actual value. The Numbers application First we create the Form class which represents the main window. Then we create a form object in the main program (main), and we announce it to be the application s main widget (setmainwidget()).we let to show this widget on the screen (show()) and pass the control on to Qt to start the message loop waiting on a user action (exec()). The main window inherits the QVBox 2 widget. We put on the main window three widgets: a QSpinBox (spinbox), a QSlider(slider) and a QLineEdit (lineedit) widget. Arrangement 2 HBox: Stores elements horizontally. VBox: Stores elements vertically CEEPUS H81 Network Page 6

7 Modularization Classes Definition of the Form class form.h #ifndef FORM_H # define FORM_H # include <qwidget.h> # include <qvbox.h> class QHBox; class QSpinBox; class QSlider; class QLineEdit; class Form: public QVBox public: Form(QWidget *parent=0, const char *name=0); private: QHBox *hbox; QSpinBox *spinbox; QSlider *slider; QLineEdit *lineedit; ; #endif CEEPUS H81 Network Page 7

8 Implementation of the Form class form.cpp # include <qhbox.h> #include <qspinbox.h> #include <qslider.h> #include <qlineedit.h> #include "form.h" Form::Form(QWidget *parent, const char *name) :QVBox(parent,name) setmargin(6); setspacing(6); hbox = new QHBox(this); lineedit = new QLineEdit(this); hbox->setmargin(6); hbox->setspacing(6); spinbox = new QSpinBox(hbox); slider = new QSlider(Qt::Horizontal,hbox); slider->setrange(0,10); // interval spinbox->setrange(0,10); // interval spinbox->setvalue(5); connect(slider,signal(valuechanged(int)),spinbox,slot(setvalue(int))); connect(spinbox,signal(valuechanged(int)),slider,slot(setvalue(int))); It is not obligatory to add the QObject:: reference before the connect function, because QVBox and QHBox inherit the QObject class, so this function definition can be found without this extra prefix. The application s main program main.cpp # include <qapplication.h> #include "form.h" int main(int argc, char *argv[]) QApplication app(argc,argv); Form *form = new Form; app.setmainwidget(form); form->show(); return app.exec(); Creating custom slots We would like to show the number with words in the text box. In order to respond on the Slider s or SpinBox s changes we introduce a new slot. sayasword(int). CEEPUS H81 Network Page 8

9 Definition of Custom Slot: sayasword(int) form.h #ifndef FORM_H # define FORM_H # include <qwidget.h> # include <qvbox.h> class QHBox; class QSpinBox; class QSlider; class QLineEdit; class Form: public QVBox Q_OBJECT public: Form(QWidget *parent=0, const char *name=0); private: QHBox *hbox; QSpinBox *spinbox; QSlider *slider; QLineEdit *lineedit; QString words[11]; void initwords(); public slots: ; #endif void sayasword(int i); We declare an array to store the words of numbers (QString words[11]) and a private function to initialize this array, initwords(). Furthermore we declare a public slot sayasword(int). Please consider, that public slots keyword doesn t exist in standard C++. These elements must be transformed into the standard C++ code using a special precompiler: moc (meta object compiler). Because of using this special keyword (public slots), we have to add an extra macro to the source: Q_OBJECT, which consists of function declarations, used in run time to obtain meta language related information. My notes CEEPUS H81 Network Page 9

10 Implementation of Custom Slot: sayasword(int) form.cpp # include <qhbox.h> #include <qspinbox.h> #include <qslider.h> #include <qlineedit.h> #include "form.h" Form::Form(QWidget *parent, const char *name):qvbox(parent,name) setmargin(6); setspacing(6); hbox = new QHBox(this); lineedit = new QLineEdit(this); hbox->setmargin(6); hbox->setspacing(6); spinbox = new QSpinBox(hbox); slider = new QSlider(Qt::Horizontal,hbox); slider->setrange(0,10); spinbox->setrange(0,10); connect(slider,signal(valuechanged(int)),spinbox,slot(setvalue(int))); connect(spinbox,signal(valuechanged(int)),slider,slot(setvalue(int))); connect(slider,signal(valuechanged(int)),this,slot(sayasword(int))); initwords(); spinbox->setvalue(5); void Form::sayAsWord(int i) lineedit->settext(words[i]); void Form::initWords() words[0] = "null"; words[1] = "one";... words[10] = "ten"; The application s project file numbers.pro TEMPLATE = app INCLUDEPATH +=. # Input HEADERS += form.h SOURCES += form.cpp main.cpp CEEPUS H81 Network Page 10

11 Compiling & Running The uic tool generates the.h and.cpp files from the.ui file. The QVBox class inherits from QObject, so it requires an additional.cpp file to be generated in order to handle run time meta language information. These files are generated by the moc (meta object compiler) and are named moc_numbers.cpp as the original file was called numbers.cpp. As far as our.cpp file contains the Q_OBJECT macro an another file numbers.moc will be generated which will be included in our.cpp file, normally at the end. Fortunately we do not have to deal with these details, because the qmake tool creates the appropriate Makefile from our project file automatically. 1. Make the numbers directory. 2. Enter the above code using any text editor. Save it as numbers.cpp in the numbers directory. 3. Be in numbers directory. 4. Generate the platform independent project file (numbers.pro) with the next command: qmake - project 5. Generate the platform dependent make file with the next command: qmake -o Makefile numbers.pro. 6. Build the program: nmake (make in Linux) 7. Run the program. (Linux:./ numbers; Windows: numbers) The program can be found on people.inf.elte.hu/nacsa/qt/lessons/numbers site. Memory management, parent-child relationship Observing our program code we can realize, that we have used the new operator, but we have not used the delete to free the occupied memory from the heap. We have learnt that a lot of new without deleting leads to the memory leak. Furthermore in GUI applications we have to handle a lot of widgets and some how we have to control memory management. How does it work in Qt? Qt uses the so called parent-children mechanism to handle this problem. The main rules are: Deleting the main widget results deleting of all its children. Deleted widget automatically is deleted from the screen. Closing main window automatically results deleting the main widget. From these rules follow, that the only objects we have to delete explicitly are the objects we create with new operator and that have no parents. The figure below shows the parent-children relationship of our Form class in Numbers application. After we have closed our main window (e.g. clicking on the cross in the top-right corner) each widget will be deleted from the heap and from the screen. CEEPUS H81 Network Page 11

12 Layout application (Arrangement) In this example we demonstrate how to put the GUI control elements (widgets) on the screen to have the freedom to resize the screen without repositioning of its elements. To gain this aim we have to use the Layout Manager classes. Layout Manager In the previous example we used QVBox and QHBox widgets as a container for storing GUI elements. To handle a more sophisticated surface and to have a flexible arrangement of the screen you may use the Layout Manager s classes. The QHBoxLayout and QVBoxLayout inherit QLayout class. Although layout managers are not widgets, they can have parents and children. The meaning of parent is slightly different for layouts than for widgets. If a layout is constructed with a widget as a parent, the layout automatically installs itself on the widget. If a layout is constructed with no parent the layout must be inserted into another layout using addlayout(). When we insert a layout into another layout the inner layout is automatically made a child of the outer layout, to simplify memory management. In contrast, when we insert a widget into a layout using addwidget() the widget doesn t change parent. The QHBoxLayout horizontally, the QVBoxLayout vertically stores the inserted elements. Laying Out of the Form Memory Managament, Parent-Children relationship CEEPUS H81 Network Page 12

13 The Form Class using Layout Manager s Classes form.h #ifndef FORM_H # define FORM_H # include <qwidget.h> class QSpinBox; class QSlider; class QLineEdit; class Form: public QWidget Q_OBJECT public: Form(QWidget *parent=0, const char *name=0); private: QSpinBox *spinbox; QSlider *slider; QLineEdit *lineedit; QString words[11]; void initwords(); public slots: void sayasword(int i); void slottextchanged ( const QString & ); ; #endif Form Class s implementation with Layout Classes form.cpp #include <qlayout.h> #include <qspinbox.h> #include <qslider.h> #include <qlineedit.h> #include "form.h" Form::Form(QWidget *parent, const char *name):qwidget(parent,name) spinbox = new QSpinBox(this); slider = new QSlider(Qt::Horizontal,this); slider->setrange(0,10); spinbox->setrange(0,10); lineedit = new QLineEdit(this); QHBoxLayout *toplayout = new QHBoxLayout; //no parents toplayout->addwidget(spinbox); toplayout->addwidget(slider); QVBoxLayout *mainlayout = new QVBoxLayout(this); CEEPUS H81 Network Page 13

14 mainlayout->addlayout(toplayout); mainlayout->addwidget(lineedit); mainlayout->setmargin(11); mainlayout->setspacing(6); connect(slider,signal(valuechanged(int)),spinbox,slot(setvalue(int))); connect(spinbox,signal(valuechanged(int)),slider,slot(setvalue(int))); connect(slider,signal(valuechanged(int)),this,slot(sayasword(int))); initwords(); spinbox->setvalue(5); void Form::sayAsWord(int i) lineedit->settext(words[i]); void Form::initWords() words[0] = "null";... words[10] = "ten"; The application s main program The main.cpp remains unchangeable. The Application s Project File layout.pro TEMPLATE = app INCLUDEPATH +=. # Input HEADERS += form.h SOURCES += form.cpp main.cpp Compiling & Running 1. Make the layout directory. 2. Enter the above code using any text editor. Save it as layout.cpp in the layout directory. 3. Be in layout directory. 4. Generate the platform independent project file (layout.pro) with the next command: qmake -project 5. Generate the platform dependent make file with the next command: qmake -o Makefile layout.pro. 6. Build the program: nmake (make in Linux) 7. Run the program. (Linux:./ layout; Windows: layout) The program can be found on people.inf.elte.hu/nacsa/qt/lessons/layout site. CEEPUS H81 Network Page 14

15 Creating Application Using Qt Designer The.ui file and the generated code The Qt Designer which can be run with designer command is a non integrated, visual tool to support of designing the graphical user interface. Qt Designer reads and writes an XML like.ui file, (form.ui) which contains the definition of the user interface. The user interface compiler, uic, creates both a header file (form.h), and an implementation file (form.cpp), from the.ui file (form.ui). Then the application code in main.cpp includes form.h. Typically main.cpp is used to instantiate the QApplication object and start off the event loop. Qt designer form.ui UIC form.h Reads and writes Reading Generates #includes Tool Generated source file Revision controlled source file form.cpp main.cpp It is a simple approach, but it isn t sufficient for more complex dialogs having a lot of logic attached to the form s widgets, which can t be expressed with predefined signals and slots. Adding code to the generated form.cpp doesn t solve this problem, as this file gets recreated by the uic whenever the form changes. There are two different possibilities to extend form s functionality in Qt. CEEPUS H81 Network Page 15

16 Extending the functionality of the form The subclassing approach One way to implement custom slots for generated forms is via C++ inheritance as shown in the next figure. Qt designer form.ui Inheritance UIC formbase.h form.h Reads and writes Reading Generates #includes Tool Generated source file Revision controlled source file formbase.cpp form.cpp main.cpp In this approach Form inherits the Qt Designer s form FormBase class. Form is split into the header file (form.h) and the implementation file (form.cpp). The header file includes the uic generated form.h and re-implements all the custom slots. This is possible because uic generated custom slots are virtual. In addition to implementing custom slots, this approach gives the user a natural way to do extra initialization work in the constructor of the subclass, and extra cleanups in the destructor. The ui.h extension approach In this approach addition to the.ui file (form.ui), Qt Designer reads and writes another associated.ui.h file (form.ui.h). This.ui.h file is an ordinary C++ source file that contains implementations of custom slots. The file gets included from the generated form s implementation file (form.cpp) and thus can totally ignored by other user code. (The reason of using.h extension for this file even though it contains C++ code is because it is always included, and because it is easier to integrate into the build process with.h extension.) This file can be read and write by both the user and Qt Designer. Qt Designer s responsibility is to keep the file in sync with custom slot definitions: Whenever the user adds a new slot to the form, Qt Designer adds a stub to the.ui.h file. Whenever the user changes a custom slot s signature, Qt Designer updates the corresponding implementation. Whenever the user removes a custom slot, Qt Designer removes it from the.ui.h file. You can edit the implementations of the slots either within Qt Designer or using your own editor. CEEPUS H81 Network Page 16

17 Qt designer form.ui form.ui form.ui.h UIC form.h Reads and writes Reading Generates #includes Tool Generated source file Revision controlled source file form.cpp main.cpp Construction and destruction With this approach objects are entirely constructed and destructed inside the generated form.cpp code, therefore it is not possible to do further form initializations or cleanups you would do within the constructor and destructor functions of a C++ class, but if you add a slot Form::init() to your form, this slot will be called automatically at the end of the generated form constructor and if you add a slot Form::destroy() to your form, the slot will automatically invoked by the destructor before any form controls get deleted. Words application (Custom slot) In this application we demonstrate how to create a project using Qt Designer. We invent our program by using ui.h extension approach. Creating the Words project Start the Qt Designer and make a new project. The name of the project is words and we will save it into the words directory. Start Qt Designer File/New/C++ project/ok Project file: (brows into the appropriate directory) words.pro OK Creating the Main Window (Form) Create a widget, named Form, representing the main window. File/New/Widget/OK name: Form caption: Form File/Save As : form.ui CEEPUS H81 Network Page 17

18 The Form s Design Type Name Properties QSpinBox spinbox minvalue = 0, maxvalue = 10 QSlider slider minvalue = 0, maxvalue = 10 QLineEdit lineedit The Form s Arrangement (Layout) 1. Keep pressing the Shift button select the spinbox and the slider widgets on the form, then give the command Layout / Lay Out Horizontally. The red box around the two selected widgets shows they have to be laid out together. Using the Layout/ Break Layout command you can break this coherence. It is worth to find the related buttons in the toolbar, too. 2. Now, let us select the lineedit widget and the previously created red box and give the command Layout/ Lay Out Verically. 3. Click on the Fom (MainForm) and give the command Layout/Lay Out in Grid. You can preview the Form s behaviour with the Ctrl+T command. Try to resize the application s window and observe, what is happening. Creating the main program (main.cpp) Now, that we have entered some of the code let s try to build and run the application. To do this we need to create a main() function. We can ask Qt Designer to create this file for us. 1. Click File/New to invoke the New File dialog. 2. Click C++ Main-File, then click OK 3. The Configure Main-File dialog appears, listing the forms in the project. We ve only one for, MainForm, so it is already highlighted. 4. Click OK to create a main.cpp file that loads MainForm. 5. Save As into the project s directory. CEEPUS H81 Network Page 18

19 The generated main program is given below. main.cpp # include <qapplication.h> #include "form.h" int main( int argc, char ** argv ) QApplication a( argc, argv ); Form w; w.show(); a.connect( &a, SIGNAL( lastwindowclosed() ), &a, SLOT( quit() ) ); return a.exec(); We store the QApplication object on the stack, so it will be deleted when the application ended. (All other widgets of this application will be deleted as well, as far as all of them are children of this widget.) Inserting Variable into the Project Let us insert an array of number-words into our project using Qt Designer. Object Explorer/Members/Class Varibles/Private/Double Click/Add Variable: QString words[11] Access: private The variable description will be stored in the.ui, XML style file and the tool uic will generate the appropriate C++ code for it and put it into the form.h. The related fragment in the form.ui file is given below. form.ui <variables> <variable access="private">qstring words[11];</variable> </variables> initwords() function We create a new private function to initialize the words array. Select Form in Project Overview window. Edit/Slots... / New Function Function: initwords() Return type: void Specifier: non virtual Access: private Type: function The function s description is stored in the XML-style.ui file. The uic tool generates from it the appropriate C++ code and writes it into the form.h file. The related fragment in the form.ui file is given below. form.ui <functions> <function access="private" specifier="non virtual">initwords()</function> </functions> CEEPUS H81 Network Page 19

20 The implementation of initwords() is given in the form.ui.h file. form.ui.h void Form::initWords() words[0] = "null";... words[10] = "ten"; init() function It has no meaning to add code to the generated form.cpp. In order to carry out some initialization of our form, instead of modifying the generated constructor we can add a special init() function, which will be performed immediately after the constructor have run. Select Form in Project Overview window. Edit/Slots... / New Function Function: init() Return type: void Specifier: virtual Access: protected Type: function The init() function s implementation is given below. form.ui.h void Form::init() spinbox->setmaxvalue(10); //You can set it with Qt Designer, too slider->setmaxvalue(10); //You can set it with Qt Designer, too initwords(); spinbox->setvalue(5); Connecting the widgets Let s connect the slider s valuechanged(int) signal to the spinbox s setvalue(int) slot and the spinbox s valuechanged(int) signal to the slider s setvalue(int) slot. Edit/Connections/New Sender: slider Signal: valuechanged(int) Receiver: spinbox Slot: setvalue(int) Edit/Connections/New Sender: spinbox Signal: valuechanged(int) Receiver: slider Slot: setvalue(int) Creating Custom Slot: sayasword(int) Select Form in Project Overview window. Edit/Slots... / New Function Function: sayasword(int) Return type: void Specifier: virtual Access: public Type: slot CEEPUS H81 Network Page 20

21 Let us observe that on the Object Explorer s Member tab among the public slots has appeared the newly defined slot. Clicking on the form.ui.h implementation file in the Project Overview window a text editor containing the implementation file pops up and shows the tube of this newly defined slot. The sayasword(int) function s implementcation. form.ui.h void Form::sayAsWord( int i) lineedit->settext(words[i]); The application s project file (words.pro) Please observe that there are no form.h and form.cpp files in the project file. These files are generated by uic. words.pro TEMPLATE = app INCLUDEPATH +=. # Input HEADERS += form.ui.h INTERFACES += form.ui SOURCES += main.cpp Compiling & Running Using Qt Designer you don t have to generate project file, because it is managed by Qt Designer. 1. Be in words directory. 2. Generate the platform dependent make file with the next command: qmake -o Makefile words.pro. 3. Build the program: nmake (make in Linux) 4. Run the program. (Linux:./words; Windows: words) This program can be downloaded from the people.inf.elte.hu/nacsa/qt/lessons/words site. Workshop You are encouraged to work through this workbook on your own and make exercises to help you to retain what you have learned in this lesson. By completing these exercises you will understand the basics of Qt programming and you ll ensure that understand how signals and slots work and how implement them in your program. Quiz 1. What is a slot? 2. What is a signal? 3. How do you connect a signal to a slot? 4. Can you connect multiple slots to one signal? Exercises 1. Write a Greeting program. Ask user s name then pressing the Greeting button program pops up a message box and greets him or her. 2. Write a new Qt class based on QWidget. Make it 400 pixels wide and 300 pixels high. Add a button to the upper-left corner of the window. Connect the button s clicked() signal to qapp s quit() slot. Make sure it works. 3. Search the Qt Reference Documentation for other signals included QPushButton. Also, look up which slots are included in QApplication. 4. Write a program with two QPushButton objects and one radio button. Connect the three objects so that the two QPushButton objects can control whether the radio button is checked. CEEPUS H81 Network Page 21

Surface and Volumetric Data Rendering and Visualisation

Surface and Volumetric Data Rendering and Visualisation Surface and Volumetric Data Rendering and Visualisation THE Qt TOOLKIT Department of Information Engineering Faculty of Engineering University of Brescia Via Branze, 38 25231 Brescia - ITALY 1 What is

More information

[PRAKTISCHE ASPEKTE DER INFORMATIK SS 2014]

[PRAKTISCHE ASPEKTE DER INFORMATIK SS 2014] 2014 Institut für Computergraphik, TU Braunschweig Pablo Bauszat [PRAKTISCHE ASPEKTE DER INFORMATIK SS 2014] All elemental steps that will get you started for your new life as a computer science programmer.

More information

Qt in Education. The Qt object model and the signal slot concept

Qt in Education. The Qt object model and the signal slot concept Qt in Education The Qt object model and the signal slot concept. 2010 Nokia Corporation and its Subsidiary(-ies). The enclosed Qt Educational Training Materials are provided under the Creative Commons

More information

Andreas Burghart 6 October 2014 v1.0

Andreas Burghart 6 October 2014 v1.0 Yocto Qt Application Development Andreas Burghart 6 October 2014 Contents 1.0 Introduction... 3 1.1 Qt for Embedded Linux... 3 1.2 Outline... 4 1.3 Assumptions... 5 1.4 Corrections... 5 1.5 Version...

More information

Microsoft Publisher 2010 What s New!

Microsoft Publisher 2010 What s New! Microsoft Publisher 2010 What s New! INTRODUCTION Microsoft Publisher 2010 is a desktop publishing program used to create professional looking publications and communication materials for print. A new

More information

Building a Python Plugin

Building a Python Plugin Building a Python Plugin QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi This work is licensed under a Creative Commons Attribution 4.0 International License. Building a Python

More information

Lazy OpenCV installation and use with Visual Studio

Lazy OpenCV installation and use with Visual Studio Lazy OpenCV installation and use with Visual Studio Overview This tutorial will walk you through: How to install OpenCV on Windows, both: The pre-built version (useful if you won t be modifying the OpenCV

More information

Kentico CMS 7.0 User s Guide. User s Guide. Kentico CMS 7.0. 1 www.kentico.com

Kentico CMS 7.0 User s Guide. User s Guide. Kentico CMS 7.0. 1 www.kentico.com User s Guide Kentico CMS 7.0 1 www.kentico.com Table of Contents Introduction... 4 Kentico CMS overview... 4 Signing in... 4 User interface overview... 6 Managing my profile... 8 Changing my e-mail and

More information

GUI application set up using QT designer. Sana Siddique. Team 5

GUI application set up using QT designer. Sana Siddique. Team 5 GUI application set up using QT designer Sana Siddique Team 5 Introduction: A very important part of the Team 5 breakout board project is to develop a user friendly Graphical User Interface that is able

More information

Access 2007 Creating Forms Table of Contents

Access 2007 Creating Forms Table of Contents Access 2007 Creating Forms Table of Contents CREATING FORMS IN ACCESS 2007... 3 UNDERSTAND LAYOUT VIEW AND DESIGN VIEW... 3 LAYOUT VIEW... 3 DESIGN VIEW... 3 UNDERSTAND CONTROLS... 4 BOUND CONTROL... 4

More information

Qt/Embedded Whitepaper. Trolltech

Qt/Embedded Whitepaper. Trolltech Qt/Embedded Whitepaper Trolltech www.trolltech.com Abstract This whitepaper describes the Qt/Embedded C++ toolkit for GUI and application development on embedded devices. It runs on any device supported

More information

Cross-platform C++ development using Qt

Cross-platform C++ development using Qt Cross-platform C++ development using Qt Fall 2005 QT Presentation By Gabe Rudy Overview About Trolltech /QT Qt Features and Benefits Examples and Code Demos and more Code! Questions About Trolltech/QT

More information

New Qt APIs for Mobile Development. Mobility I Alex Blasche

New Qt APIs for Mobile Development. Mobility I Alex Blasche New Qt APIs for Mobile Development Mobility I Alex Blasche What is Qt Mobility about? Mobile Gap Compatibility Availability QML support Beyond Mobile Mobility API Overview Consumer engagement Data Driven

More information

The Most Popular UI/Apps Framework For IVI on Linux

The Most Popular UI/Apps Framework For IVI on Linux The Most Popular UI/Apps Framework For IVI on Linux About me Tasuku Suzuki Qt Engineer Qt, Developer Experience and Marketing, Nokia Have been using Qt since 2002 Joined Trolltech in 2006 Nokia since 2008

More information

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you? BogDan Vatra and Andy Gryc Qt on Android: Is it right for you? Coffee and Code sessions Free, three-hour, hands-on session that delves into the internals of Qt on Android. Learn how to: set up the Qt development

More information

Chapter 1: Getting Started

Chapter 1: Getting Started Chapter 1: Getting Started Every journey begins with a single step, and in ours it's getting to the point where you can compile, link, run, and debug C++ programs. This depends on what operating system

More information

Create a Poster Using Publisher

Create a Poster Using Publisher Contents 1. Introduction 1. Starting Publisher 2. Create a Poster Template 5. Aligning your images and text 7. Apply a background 12. Add text to your poster 14. Add pictures to your poster 17. Add graphs

More information

Migrating to Excel 2010 from Excel 2003 - Excel - Microsoft Office 1 of 1

Migrating to Excel 2010 from Excel 2003 - Excel - Microsoft Office 1 of 1 Migrating to Excel 2010 - Excel - Microsoft Office 1 of 1 In This Guide Microsoft Excel 2010 looks very different, so we created this guide to help you minimize the learning curve. Read on to learn key

More information

Excel 2007 Basic knowledge

Excel 2007 Basic knowledge Ribbon menu The Ribbon menu system with tabs for various Excel commands. This Ribbon system replaces the traditional menus used with Excel 2003. Above the Ribbon in the upper-left corner is the Microsoft

More information

8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER

8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER 8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER 8.1 INTRODUCTION Forms are very powerful tool embedded in almost all the Database Management System. It provides the basic means for inputting data for

More information

Working with Excel in Origin

Working with Excel in Origin Working with Excel in Origin Limitations When Working with Excel in Origin To plot your workbook data in Origin, you must have Excel version 7 (Microsoft Office 95) or later installed on your computer

More information

An Incomplete C++ Primer. University of Wyoming MA 5310

An Incomplete C++ Primer. University of Wyoming MA 5310 An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages

More information

To Begin Customize Office

To Begin Customize Office To Begin Customize Office Each of us needs to set up a work environment that is comfortable and meets our individual needs. As you work with Office 2007, you may choose to modify the options that are available.

More information

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011

INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE

More information

Getting Started Guide

Getting Started Guide Getting Started Guide Mulberry Internet Email/Calendar Client Version 4.0 Cyrus Daboo Pittsburgh PA USA mailto:[email protected] http://www.mulberrymail.com/ Information in this document is subject

More information

Introduction to GUI programming in Python. Alice Invernizzi [email protected]

Introduction to GUI programming in Python. Alice Invernizzi a.invernizzi@cineca.it Introduction to GUI programming in Python Alice Invernizzi [email protected] Index Introduction to GUI programming Overview of Qt Framework for Python How to embed matplotlib/vtk widget inside Qt

More information

TestManager Administration Guide

TestManager Administration Guide TestManager Administration Guide RedRat Ltd July 2015 For TestManager Version 4.57-1 - Contents 1. Introduction... 3 2. TestManager Setup Overview... 3 3. TestManager Roles... 4 4. Connection to the TestManager

More information

Brent A. Perdue. July 15, 2009

Brent A. Perdue. July 15, 2009 Title Page Object-Oriented Programming, Writing Classes, and Creating Libraries and Applications Brent A. Perdue ROOT @ TUNL July 15, 2009 B. A. Perdue (TUNL) OOP, Classes, Libraries, Applications July

More information

Building Applications With DUIM

Building Applications With DUIM Building Applications With DUIM Release 1.0 Dylan Hackers January 28, 2016 CONTENTS 1 Copyright 3 2 Preface 5 2.1 About this manual............................................ 5 2.2 Running examples in

More information

Visual Studio 2008 Express Editions

Visual Studio 2008 Express Editions Visual Studio 2008 Express Editions Visual Studio 2008 Installation Instructions Burning a Visual Studio 2008 Express Editions DVD Download (http://www.microsoft.com/express/download/) the Visual Studio

More information

CS420: Operating Systems OS Services & System Calls

CS420: Operating Systems OS Services & System Calls NK YORK COLLEGE OF PENNSYLVANIA HG OK 2 YORK COLLEGE OF PENNSYLVAN OS Services & System Calls James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts,

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Create Database Tables 2

Create Database Tables 2 Create Database Tables 2 LESSON SKILL MATRIX Skill Exam Objective Objective Number Creating a Database Creating a Table Saving a Database Object Create databases using templates Create new databases Create

More information

Microsoft PowerPoint 2010 Handout

Microsoft PowerPoint 2010 Handout Microsoft PowerPoint 2010 Handout PowerPoint is a presentation software program that is part of the Microsoft Office package. This program helps you to enhance your oral presentation and keep the audience

More information

MICROSOFT OFFICE ACCESS 2007 - NEW FEATURES

MICROSOFT OFFICE ACCESS 2007 - NEW FEATURES MICROSOFT OFFICE 2007 MICROSOFT OFFICE ACCESS 2007 - NEW FEATURES Exploring Access Creating and Working with Tables Finding and Filtering Data Working with Queries and Recordsets Working with Forms Working

More information

Introduction to dobe Acrobat XI Pro

Introduction to dobe Acrobat XI Pro Introduction to dobe Acrobat XI Pro Introduction to Adobe Acrobat XI Pro is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this

More information

Preview DESIGNING DATABASES WITH VISIO PROFESSIONAL: A TUTORIAL

Preview DESIGNING DATABASES WITH VISIO PROFESSIONAL: A TUTORIAL DESIGNING DATABASES WITH VISIO PROFESSIONAL: A TUTORIAL A Microsoft Visio Professional is a powerful database design and modeling tool. The Visio software has so many features that it is impossible to

More information

One of the fundamental kinds of Web sites that SharePoint 2010 allows

One of the fundamental kinds of Web sites that SharePoint 2010 allows Chapter 1 Getting to Know Your Team Site In This Chapter Requesting a new team site and opening it in the browser Participating in a team site Changing your team site s home page One of the fundamental

More information

Kentico CMS 5.5 User s Guide

Kentico CMS 5.5 User s Guide Kentico CMS 5.5 User s Guide 2 Kentico CMS User s Guide 5.5 Table of Contents Part I Introduction 4 1 Kentico CMS overview... 4 2 Signing in... 5 3 User interface overview... 7 Part II Managing my profile

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Microsoft Word 2010 Prepared by Computing Services at the Eastman School of Music July 2010

Microsoft Word 2010 Prepared by Computing Services at the Eastman School of Music July 2010 Microsoft Word 2010 Prepared by Computing Services at the Eastman School of Music July 2010 Contents Microsoft Office Interface... 4 File Ribbon Tab... 5 Microsoft Office Quick Access Toolbar... 6 Appearance

More information

Getting Started Guide

Getting Started Guide Getting Started Guide Mulberry IMAP Internet Mail Client Versions 3.0 & 3.1 Cyrusoft International, Inc. Suite 780 The Design Center 5001 Baum Blvd. Pittsburgh PA 15213 USA Tel: +1 412 605 0499 Fax: +1

More information

Running your first Linux Program

Running your first Linux Program Running your first Linux Program This document describes how edit, compile, link, and run your first linux program using: - Gnome a nice graphical user interface desktop that runs on top of X- Windows

More information

Programming in Access VBA

Programming in Access VBA PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010

More information

Word 2010 to Office 365 for business

Word 2010 to Office 365 for business Word 2010 to Office 365 for business Make the switch Microsoft Word 2013 desktop looks different from previous versions, so here s a brief overview of new features and important changes. Quick Access Toolbar

More information

PowerPoint 2013: Basic Skills

PowerPoint 2013: Basic Skills PowerPoint 2013: Basic Skills Information Technology September 1, 2014 1 P a g e Getting Started There are a variety of ways to start using PowerPoint software. You can click on a shortcut on your desktop

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Network Programming in Qt. TCP/IP Protocol Stack

Network Programming in Qt. TCP/IP Protocol Stack Network Programming in Qt Prof. Tiago Garcia de Senna Carneiro DECOM UFOP 2007 TCP/IP Protocol Stack Roteador UFOP Roteador UFMG DECOM DEFIS DCC DEMAT Internet 1 Domain Name Server (DNS) A maioria dos

More information

Using Microsoft Word. Working With Objects

Using Microsoft Word. Working With Objects Using Microsoft Word Many Word documents will require elements that were created in programs other than Word, such as the picture to the right. Nontext elements in a document are referred to as Objects

More information

5nine Hyper-V Commander

5nine Hyper-V Commander 5nine Hyper-V Commander 5nine Hyper-V Commander provides a local graphical user interface (GUI), and a Framework to manage Hyper-V R2 server and various functions such as Backup/DR, HA and P2V/V2V. It

More information

Introduction To Microsoft Office PowerPoint 2007. Bob Booth July 2008 AP-PPT5

Introduction To Microsoft Office PowerPoint 2007. Bob Booth July 2008 AP-PPT5 Introduction To Microsoft Office PowerPoint 2007. Bob Booth July 2008 AP-PPT5 University of Sheffield Contents 1. INTRODUCTION... 3 2. GETTING STARTED... 4 2.1 STARTING POWERPOINT... 4 3. THE USER INTERFACE...

More information

Microsoft Outlook 2010. Reference Guide for Lotus Notes Users

Microsoft Outlook 2010. Reference Guide for Lotus Notes Users Microsoft Outlook 2010 Reference Guide for Lotus Notes Users ContentsWelcome to Office Outlook 2010... 2 Mail... 3 Viewing Messages... 4 Working with Messages... 7 Responding to Messages... 11 Organizing

More information

JetBrains ReSharper 2.0 Overview Introduction ReSharper is undoubtedly the most intelligent add-in to Visual Studio.NET 2003 and 2005. It greatly increases the productivity of C# and ASP.NET developers,

More information

Information Literacy Program

Information Literacy Program Information Literacy Program Excel (2013) Advanced Charts 2015 ANU Library anulib.anu.edu.au/training [email protected] Table of Contents Excel (2013) Advanced Charts Overview of charts... 1 Create a chart...

More information

Select the Crow s Foot entity relationship diagram (ERD) option. Create the entities and define their components.

Select the Crow s Foot entity relationship diagram (ERD) option. Create the entities and define their components. Α DESIGNING DATABASES WITH VISIO PROFESSIONAL: A TUTORIAL Microsoft Visio Professional is a powerful database design and modeling tool. The Visio software has so many features that we can t possibly demonstrate

More information

Module One: Getting Started... 6. Opening Outlook... 6. Setting Up Outlook for the First Time... 7. Understanding the Interface...

Module One: Getting Started... 6. Opening Outlook... 6. Setting Up Outlook for the First Time... 7. Understanding the Interface... 2 CONTENTS Module One: Getting Started... 6 Opening Outlook... 6 Setting Up Outlook for the First Time... 7 Understanding the Interface...12 Using Backstage View...14 Viewing Your Inbox...15 Closing Outlook...17

More information

DataPA OpenAnalytics End User Training

DataPA OpenAnalytics End User Training DataPA OpenAnalytics End User Training DataPA End User Training Lesson 1 Course Overview DataPA Chapter 1 Course Overview Introduction This course covers the skills required to use DataPA OpenAnalytics

More information

Randy Hyde s Win32 Assembly Language Tutorials (Featuring HOWL) #4: Radio Buttons

Randy Hyde s Win32 Assembly Language Tutorials (Featuring HOWL) #4: Radio Buttons Randy Hyde s Win32 Assembly Language Tutorials Featuring HOWL #4: Radio Buttons In this fourth tutorial of this series, we ll take a look at implementing radio buttons on HOWL forms. Specifically, we ll

More information

Creating Web Pages with Microsoft FrontPage

Creating Web Pages with Microsoft FrontPage Creating Web Pages with Microsoft FrontPage 1. Page Properties 1.1 Basic page information Choose File Properties. Type the name of the Title of the page, for example Template. And then click OK. Short

More information

Recreate your Newsletter Content and Layout within Informz (Workshop) Monica Capogna and Dan Reade. Exercise: Creating two types of Story Layouts

Recreate your Newsletter Content and Layout within Informz (Workshop) Monica Capogna and Dan Reade. Exercise: Creating two types of Story Layouts Recreate your Newsletter Content and Layout within Informz (Workshop) Monica Capogna and Dan Reade Exercise: Creating two types of Story Layouts 1. Creating a basic story layout (with title and content)

More information

MS WORD 2007 (PC) Macros and Track Changes Please note the latest Macintosh version of MS Word does not have Macros.

MS WORD 2007 (PC) Macros and Track Changes Please note the latest Macintosh version of MS Word does not have Macros. MS WORD 2007 (PC) Macros and Track Changes Please note the latest Macintosh version of MS Word does not have Macros. Record a macro 1. On the Developer tab, in the Code group, click Record Macro. 2. In

More information

Shipment Label Header Guide

Shipment Label Header Guide Shipment Label Header Guide This guide will walk you through the 3 main phases of setting up a shipment label header within World Ship 2013. This guide was made using standard Windows Microsoft Office

More information

Hermes.Net Web Campaign Page 2 26

Hermes.Net Web Campaign Page 2 26 ...................... Hermes.Net Web Campaign Page 2 26 Table of Context 1. Introduction... 3 2. Create and configure Web Campaign 4... 2.1 Create a Web Campaign 4 2.2 General Configuration... 5 2.2.1

More information

UCL INFORMATION SERVICES DIVISION INFORMATION SYSTEMS. Silva. Introduction to Silva. Document No. IS-130

UCL INFORMATION SERVICES DIVISION INFORMATION SYSTEMS. Silva. Introduction to Silva. Document No. IS-130 UCL INFORMATION SERVICES DIVISION INFORMATION SYSTEMS Silva Introduction to Silva Document No. IS-130 Contents What is Silva?... 1 Requesting a website / Web page(s) in Silva 1 Building the site and making

More information

What is a Mail Merge?

What is a Mail Merge? NDUS Training and Documentation What is a Mail Merge? A mail merge is generally used to personalize form letters, to produce mailing labels and for mass mailings. A mail merge can be very helpful if you

More information

Mouse and Pointer Settings. Technical Brief

Mouse and Pointer Settings. Technical Brief Mouse and Pointer Settings Technical Brief Avocent, the Avocent logo, DSView, AutoView, SwitchView, DSR, OSCAR and AVWorks are trademarks or registered trademarks of Avocent Corporation or its affiliates.

More information

To add a data form to excel - you need to have the insert form table active - to make it active and add it to excel do the following:

To add a data form to excel - you need to have the insert form table active - to make it active and add it to excel do the following: Excel Forms A data form provides a convenient way to enter or display one complete row of information in a range or table without scrolling horizontally. You may find that using a data form can make data

More information

Website Creator Pro Quick Reference Guide. Version: 0.5

Website Creator Pro Quick Reference Guide. Version: 0.5 Website Creator Pro Quick Reference Guide Version: 0.5 Contents 1. Introduction 3 2. Navigation 4 2.1. Top Bar 4 2.1.1. Tabs 4 2.1.2. Buttons 4 2.2. Website Structure Fly-Out 4 3. Usage 5 3.1. Editor 5

More information

Configuring user provisioning for Amazon Web Services (Amazon Specific)

Configuring user provisioning for Amazon Web Services (Amazon Specific) Chapter 2 Configuring user provisioning for Amazon Web Services (Amazon Specific) Note If you re trying to configure provisioning for the Amazon Web Services: Amazon Specific + Provisioning app, you re

More information

Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas

Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage

More information

David Boddie. PyCon UK 2007, Birmingham

David Boddie. PyCon UK 2007, Birmingham Creating GUI Applications with PyQt and Qt Designer David Boddie [email protected] PyCon UK 2007, Birmingham Qt, Qtopia and Trolltech are registered trademarks of Trolltech ASA Contents 1. What are

More information

What is Microsoft Excel?

What is Microsoft Excel? What is Microsoft Excel? Microsoft Excel is a member of the spreadsheet family of software. Spreadsheets allow you to keep track of data, create charts based from data, and perform complex calculations.

More information

DiskPulse DISK CHANGE MONITOR

DiskPulse DISK CHANGE MONITOR DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product

More information

CSC230 Getting Starting in C. Tyler Bletsch

CSC230 Getting Starting in C. Tyler Bletsch CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly

More information

Formulas, Functions and Charts

Formulas, Functions and Charts Formulas, Functions and Charts :: 167 8 Formulas, Functions and Charts 8.1 INTRODUCTION In this leson you can enter formula and functions and perform mathematical calcualtions. You will also be able to

More information

Bitrix Site Manager 4.0. Quick Start Guide to Newsletters and Subscriptions

Bitrix Site Manager 4.0. Quick Start Guide to Newsletters and Subscriptions Bitrix Site Manager 4.0 Quick Start Guide to Newsletters and Subscriptions Contents PREFACE...3 CONFIGURING THE MODULE...4 SETTING UP FOR MANUAL SENDING E-MAIL MESSAGES...6 Creating a newsletter...6 Providing

More information

Chapter 19: XML. Working with XML. About XML

Chapter 19: XML. Working with XML. About XML 504 Chapter 19: XML Adobe InDesign CS3 is one of many applications that can produce and use XML. After you tag content in an InDesign file, you save and export the file as XML so that it can be repurposed

More information

Explore commands on the ribbon Each ribbon tab has groups, and each group has a set of related commands.

Explore commands on the ribbon Each ribbon tab has groups, and each group has a set of related commands. Quick Start Guide Microsoft Excel 2013 looks different from previous versions, so we created this guide to help you minimize the learning curve. Add commands to the Quick Access Toolbar Keep favorite commands

More information

Step 2: Headings and Subheadings

Step 2: Headings and Subheadings Step 2: Headings and Subheadings This PDF explains Step 2 of the step-by-step instructions that will help you correctly format your ETD to meet UCF formatting requirements. Step 2 shows you how to set

More information

Creating tables of contents and figures in Word 2013

Creating tables of contents and figures in Word 2013 Creating tables of contents and figures in Word 2013 Information Services Creating tables of contents and figures in Word 2013 This note shows you how to create a table of contents or a table of figures

More information

New Features in Microsoft Office 2007

New Features in Microsoft Office 2007 New Features in Microsoft Office 2007 TABLE OF CONTENTS The Microsoft Office Button... 2 The Quick Access Toolbar... 2 Adding buttons to the Quick Access Toolbar... 2 Removing buttons from the Quick Access

More information

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY COURSE MODULE (C, C++, DS) KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

More information

Kentico CMS User s Guide 5.0

Kentico CMS User s Guide 5.0 Kentico CMS User s Guide 5.0 2 Kentico CMS User s Guide 5.0 Table of Contents Part I Introduction 4 1 Kentico CMS overview... 4 2 Signing in... 5 3 User interface overview... 7 Part II Managing my profile

More information

Unleashing Hidden Powers of Inventor with the API Part 1. Getting Started with Inventor VBA Hello Inventor!

Unleashing Hidden Powers of Inventor with the API Part 1. Getting Started with Inventor VBA Hello Inventor! Unleashing Hidden Powers of Inventor with the API Part 1. Getting Started with Inventor VBA Hello Inventor! Brian Ekins Autodesk, Inc. This article provides an introduction to Inventor's VBA programming

More information

UML Class Diagrams (1.8.7) 9/2/2009

UML Class Diagrams (1.8.7) 9/2/2009 8 UML Class Diagrams Java programs usually involve multiple classes, and there can be many dependencies among these classes. To fully understand a multiple class program, it is necessary to understand

More information

Umbraco v4 Editors Manual

Umbraco v4 Editors Manual Umbraco v4 Editors Manual Produced by the Umbraco Community Umbraco // The Friendly CMS Contents 1 Introduction... 3 2 Getting Started with Umbraco... 4 2.1 Logging On... 4 2.2 The Edit Mode Interface...

More information

Microsoft Office Access 2007 Basics

Microsoft Office Access 2007 Basics Access(ing) A Database Project PRESENTED BY THE TECHNOLOGY TRAINERS OF THE MONROE COUNTY LIBRARY SYSTEM EMAIL: [email protected] MONROE COUNTY LIBRARY SYSTEM 734-241-5770 1 840 SOUTH ROESSLER

More information

ECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0

ECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0 European Computer Driving Licence Spreadsheet Software BCS ITQ Level 2 Using Microsoft Excel 2010 Syllabus Version 5.0 This training, which has been approved by BCS, The Chartered Institute for IT, includes

More information

C++ INTERVIEW QUESTIONS

C++ INTERVIEW QUESTIONS C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get

More information

Navigating Microsoft Word 2007

Navigating Microsoft Word 2007 Navigating Microsoft Word 2007 Subject Descriptors: Microsoft Office Word 2007, Interface Application (Version): Microsoft Word 2007 for Windows Task Description: I am new to Microsoft Word 2007. How do

More information

CNCTRAIN OVERVIEW CNC Simulation Systems 1995 2008

CNCTRAIN OVERVIEW CNC Simulation Systems 1995 2008 CNCTRAIN OVERVIEW CNC Simulation Systems 1995 2008 p2 Table of Contents Getting Started 4 Select a control system 5 Setting the Best Screen Layout 6 Loading Cnc Files 7 Simulation Modes 9 Running the Simulation

More information

Microsoft Outlook 2013 -And- Outlook Web App (OWA) Using Office 365

Microsoft Outlook 2013 -And- Outlook Web App (OWA) Using Office 365 1 C H A P T E R Microsoft Outlook 2013 -And- Outlook Web App (OWA) Using Office 365 1 MICROSOFT OUTLOOK 2013 AND OUTLOOK WEB ACCESS (OWA) Table of Contents Chapter 1: Signing Into the Microsoft Email System...

More information

How to test and debug an ASP.NET application

How to test and debug an ASP.NET application Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

More information

I ntroduction. Accessing Microsoft PowerPoint. Anatomy of a PowerPoint Window

I ntroduction. Accessing Microsoft PowerPoint. Anatomy of a PowerPoint Window Accessing Microsoft PowerPoint To access Microsoft PowerPoint from your home computer, you will probably either use the Start menu to select the program or double-click on an icon on the Desktop. To open

More information

Image Acquisition Toolbox Adaptor Kit User's Guide

Image Acquisition Toolbox Adaptor Kit User's Guide Image Acquisition Toolbox Adaptor Kit User's Guide R2015b How to Contact MathWorks Latest news: www.mathworks.com Sales and services: www.mathworks.com/sales_and_services User community: www.mathworks.com/matlabcentral

More information

Qt 3.3 Whitepaper. Trolltech. Abstract

Qt 3.3 Whitepaper. Trolltech. Abstract Qt 3.3 Whitepaper Trolltech www.trolltech.com Abstract This whitepaper describes the Qt C++ toolkit. Qt supports the development of multiplatform GUI applications with its write once, compile anywhere

More information

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access

Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix ABSTRACT INTRODUCTION Data Access Release 2.1 of SAS Add-In for Microsoft Office Bringing Microsoft PowerPoint into the Mix Jennifer Clegg, SAS Institute Inc., Cary, NC Eric Hill, SAS Institute Inc., Cary, NC ABSTRACT Release 2.1 of SAS

More information

Enhanced Formatting and Document Management. Word 2010. Unit 3 Module 3. Diocese of St. Petersburg Office of Training Training@dosp.

Enhanced Formatting and Document Management. Word 2010. Unit 3 Module 3. Diocese of St. Petersburg Office of Training Training@dosp. Enhanced Formatting and Document Management Word 2010 Unit 3 Module 3 Diocese of St. Petersburg Office of Training [email protected] This Page Left Intentionally Blank Diocese of St. Petersburg 9/5/2014

More information