Dynamically adding items to QTreeView and QTableView Create the UI as follows, with the treeview on the left hand side and the table view on the right hand side. Notes The header file contains the models and the selection models for the tree view and the table view: QStandardItemModel * treeViewModel ; QItemSelectionModel * treeViewSelectionModel ; QItemSelectionModel * tableSelectionModel ; QStandardItemModel * tableModel ; In the .cpp file, the tree view models and table view models are set as the models for the selection models. treeViewSelectionModel -> setModel ( treeViewModel ) ; tableSelectionModel -> setModel ( tableModel ) ; The following code illustrates how to dynamically add a new row to the treeview. void MainWindow :: updateTreeView ( ) { QStandardItem * newRow = new QStandardItem ( QString ( "inserted row" ) ) ; QList < QStandardItem * > newRows ; newRows . append ( newRow ) ; aut...
Shared Pointer A shared pointer is a smart pointer that allows for distributed ownership of data. Each time it is assigned, a reference count is incremented, indicating one more owner of the data. When the pointer goes out of scope or an owner calls reset , the reference count is decremented. When the reference count goes to 0, the data pointed to is deallocated. Use make_shared : auto person = std :: make_shared < Person > ( ) ; if ( person ) { cout << "Person's address is " << person -> address ; } C++17 allows use of shared pointers to point to dynamically allocated arrays. However, make_shared cannot be used. Below is an example: shared_ptr < Person [ ] > persons ( new Person [ 10 ] ) ; persons [ 0 ] . _name = "Jack Sparrow" ; persons [ 0 ] . _address = "Caribbean" ; cout << "Address of first person " << persons [ 0 ] . address << endl ; A better solutio...
C++ Tour Hello World Here is the hello world program for C++: # include <iostream> int main ( ) { std :: cout << "Hello, World" << std :: endl ; return 0 ; } Building a C++ Program Building a C++ program is a three step process: Code is run through preprocessor which processes meta information The code is compiled where each .cpp file is translated to .o object file Individual object files are linked together into a single application. Main function Main function is where program execution starts. It comes in two flavors: with and without arguments. With arguments, it looks as follows: int main ( int argc , char * argv [ ] ) where argc gives the number of commandline arguments to the program, and argv array contains those arguments. The actual arguments start from index 1. I/O Streams cout is the stream for standard output, cerr is the strea...
Comments
Post a Comment