Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Learning
  3. Qt in Education
  4. Programming with Qt Quick for Symbian and MeeGo Harmattan Devices
Forum Updated to NodeBB v4.3 + New Features

Programming with Qt Quick for Symbian and MeeGo Harmattan Devices

Scheduled Pinned Locked Moved Qt in Education
11 Posts 2 Posters 7.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Tslv
    wrote on last edited by
    #2

    Hi,
    I am still reading your
    "Programming with qt quick for Symbian and MeeGo Harmatan Devices" Release 1.1
    I have found it at:
    http://qt.nokia.com/learning/guides/

    On page 46 CheckBox doneField is anchored to titleLabel element. This element isn't declared in this file.

    Also TextArea noteField is achored to noteLabel. This element also isn't declared in this file.

    Because of this I am getting Reference Errors:

    file:///C:/QtWork/Learning/ToDoList/TodoList_Skeleton-build-simulator-Simulator_Qt_for_MinGW_4_4__Qt_SDK__Debug/qml/TodoList/pages/TodoPage.qml:82: ReferenceError: Can't find variable: noteLabel
    file:///C:/QtWork/Learning/ToDoList/TodoList_Skeleton-build-simulator-Simulator_Qt_for_MinGW_4_4__Qt_SDK__Debug/qml/TodoList/pages/TodoPage.qml:64: ReferenceError: Can't find variable: titleLabel

    I am beginner here and lots of things are new to me. Things like this are really making harder to understand the big picture.
    Could you please update your learning materials, or at least answer my questions?

    Thanks

    Edited 26.01.2012.
    There is a newer version of the guide available for download. The version is updated 24th of January 2012. It still has the same version 1.1 but there are some changes on page 46

    Qt Video Tutorials
    http://www.youtube.com/user/MobileDevVT/videos
    More learning materials
    http://mobiledevvt.blogspot.com/

    1 Reply Last reply
    0
    • G Offline
      G Offline
      GentooXativa
      wrote on last edited by
      #3

      Download the tutorial again, was updated 2 days ago. ^^

      Jose Vicente Giner Sanchez - Senior Mobile Developer

      www.gigigo.com

      C/ Dr. Zamenhof 36bis, 1ºA 28027 Madrid
      T: +34 917431436

      1 Reply Last reply
      0
      • T Offline
        T Offline
        Tslv
        wrote on last edited by
        #4

        Hi GentooXativa,
        Thanks for the news. I downloaded new version of the guide released 24th of January. The version number is still 1.1.

        1. On the page 11 they are still using Window element
          instead of PageStackWindow as an root element
        2. still importing QtQuick 1.0
        3. in the guide there is still ToolBar instead of ToolBarLayout
        4. StatusBar element is used instead of showStatusBar: property
          All these are already mentioned in my first post
          http://developer.qt.nokia.com/forums/viewthread/13200/

        They have fixed my other issue with missing elements titleLabel and noteLabel.
        http://developer.qt.nokia.com/forums/viewreply/71746/

        Thanks for that, but please address my first post also. I also think they should incorporate change log to their document.

        Qt Video Tutorials
        http://www.youtube.com/user/MobileDevVT/videos
        More learning materials
        http://mobiledevvt.blogspot.com/

        1 Reply Last reply
        0
        • G Offline
          G Offline
          GentooXativa
          wrote on last edited by
          #5

          I think they still with QtQuick 1.0 to keep the compatibility with Symbian^1 devices.

          QtQuick 1.1 is supported after 4.7.4 and s^1 still with 4.7.3

          Jose Vicente Giner Sanchez - Senior Mobile Developer

          www.gigigo.com

          C/ Dr. Zamenhof 36bis, 1ºA 28027 Madrid
          T: +34 917431436

          1 Reply Last reply
          0
          • T Offline
            T Offline
            Tslv
            wrote on last edited by
            #6

            Here are some other questions I would like to be answered inside this tutorial.

            1. Where is SQLite database? I mean in which file is it?
            2. How can I create my own database from scratch? I want to create a list of my favorite ice cream shops. My app will only read this database and display it in a list. Do I create a new app in which I enter ice cream shop name, address and telephone number to a database? Afterwards I just transfer my database to another project that just reads data from it? There must be a smarter way to do this.

            On the page 19 of the guide I am directed to use the skeleton code. On the page 42 under Chapter "Getting Data from the Database" the data is already there. I would like if someone explained how the data got there, and how can I create this data from scratch.

            Qt Video Tutorials
            http://www.youtube.com/user/MobileDevVT/videos
            More learning materials
            http://mobiledevvt.blogspot.com/

            1 Reply Last reply
            0
            • G Offline
              G Offline
              GentooXativa
              wrote on last edited by
              #7

              Well, the destination of SQLite depends on the configuration directory for your application, that depends if you configured your application information with
              @
              QCoreApplication::setOrganizationName("GiGiGo");
              QCoreApplication::setOrganizationDomain("gigigo.com");
              QCoreApplication::setApplicationName("appTest");
              @
              That saves all your content into:
              @C:\Users$Username\AppData\Local\GiGiGo@

              on windows and into $HOME/.config/GiGiGo under linux.

              Another way is specify the full path for the SQLITE database, for example with:
              @
              QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
              db.setDatabaseName("C:\myStuff\MyDatabase.sqlite");
              @

              To create your own database, you should open the database, and work with them like any SQL database, creating the tables and populating them with INSERTs

              @

              QSqlQuery query;
              query.exec( "CREATE TABLE uiPanel( ID INT(10), Name TEXT, isActive INT(1), Version INT(10));CREATE TABLE uiTargets( ID INT(10), Name TEXT, Doc TEXT, Version INT(10));");
              

              ....

              QSqlQuery   query;
              query.exec( QString( "INSERT INTO uiPanel (Name) VALUES ('%1');" ).arg(npanel->getName()));
              

              @

              Jose Vicente Giner Sanchez - Senior Mobile Developer

              www.gigigo.com

              C/ Dr. Zamenhof 36bis, 1ºA 28027 Madrid
              T: +34 917431436

              1 Reply Last reply
              0
              • T Offline
                T Offline
                Tslv
                wrote on last edited by
                #8

                Hi GentooXativa,
                Thanks for helping me out :) I am beginner so I don't understand everything you have said.

                1. I am flowing the guide and I am using QML and JavaScript to access SQLite database.
                  My guess is that all the code you have mentioned like

                @QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
                db.setDatabaseName("C:\myStuff\MyDatabase.sqlite");@

                should go to main.cpp file? But in the guide we don't edit C++ code because we are using QML and JavaScript.

                On the page 36 of the guide you can see that there are 2 functions in JavaScript file ceore.js
                @.pragma library

                var _db;
                function openDB()
                {
                _db = openDatabaseSync("TodoDB","1.0","the Todo related Database",1000000);
                createTable();
                }
                function createTable()
                {
                _db.transaction(
                function(tx){
                tx.executeSql("CREATE TABLE IF NOT EXISTS todo (id INTEGER PRIMARY KEY AUTOINCREMENT, box INTEGER, done TEXT, title TEXT, note TEXT, modified TEXT)");
                }
                )
                }@

                The functions are openDB() and createTable(). But there is no path to the file congaing the database

                1. So basically what you are saying is I should create sepearete app to populate my database. I was hoping that there is a tool for this.

                Qt Video Tutorials
                http://www.youtube.com/user/MobileDevVT/videos
                More learning materials
                http://mobiledevvt.blogspot.com/

                1 Reply Last reply
                0
                • G Offline
                  G Offline
                  GentooXativa
                  wrote on last edited by
                  #9

                  True, sorry :D I posted the C++ way ^^

                  On QML/JS based application you can obtain the path where databases are stored using

                  @qDebug() << "Offline storage path: " << viewer.engine()->offlineStoragePath() << "/Databases";@

                  on your main.cpp file.

                  Sorry for the confusion ^^

                  Jose Vicente Giner Sanchez - Senior Mobile Developer

                  www.gigigo.com

                  C/ Dr. Zamenhof 36bis, 1ºA 28027 Madrid
                  T: +34 917431436

                  1 Reply Last reply
                  0
                  • T Offline
                    T Offline
                    Tslv
                    wrote on last edited by
                    #10

                    Thnx!
                    I have inserted you line right before
                    @return app->exec();@

                    It worked fine and now I know that my database is located in
                    @C:\Documents and Settings\MyUserName\Local Settings\Application Data\Nokia\QtSimulator\data\QML\OfflineStorage\Databases@

                    1. What I don't understand is how did it got there?
                      I have downloaded skeleton code and I have extracted it to the folder
                      @C:\QtWork\Learning\ToDoList@

                    I do realize that I have created this database when I called openDB() and createTable() functions, but I don't understand where did the data that is inside the database came from? Where did all the ToDo Items came from? I didn't create them and I didn't put them in database.

                    1. Inside my Databases folder I have two files. One is:
                      36041e28b36e413b13ff35faed025eaa.sqlite
                      and this is the database itself
                      Second one is:
                      36041e28b36e413b13ff35faed025eaa.ini
                      and inside I have:
                      @[General]
                      Name=TodoDB
                      Version=1.0
                      Description=the Todo related Database
                      EstimatedSize=1000000
                      Driver=QSQLITE
                      @

                    Lets say I want to create a new app that only reads SQLite database. In the DB I would have names, addreses and other info about ice cream shops :) So I have created new project using Qt SDK and everything is inside my project folder
                    @C:\QtWork\Learning\IceCreamShops@
                    Where should I put my database I have created with another application?
                    I mean there is already a database with a strange file name from my ToDoList project inside

                    @C:\Documents and Settings\MyUserName\Local Settings\Application Data\Nokia\QtSimulator\data\QML\OfflineStorage\Databases@

                    If I put my IceCreamStore database inside too how will the app know which database to open?

                    Qt Video Tutorials
                    http://www.youtube.com/user/MobileDevVT/videos
                    More learning materials
                    http://mobiledevvt.blogspot.com/

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      GentooXativa
                      wrote on last edited by
                      #11

                      I dont know how exactly works the database naming on QML, i created a empty database, took his name and download a file with that name and put it into storage directory.

                      Jose Vicente Giner Sanchez - Senior Mobile Developer

                      www.gigigo.com

                      C/ Dr. Zamenhof 36bis, 1ºA 28027 Madrid
                      T: +34 917431436

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved