Installation and getting started with first app
-
Gerolf...I have included
#include <QSystemStorageInfo>and this is the complete compilation report
@
Running build steps for project IDT_Demo_UI...
Configuration unchanged, skipping qmake step.Starting: "C:\QtSDK\mingw\bin\mingw32-make.exe" -w
mingw32-make: Entering directory `E:/Bose/Qt playground/IDT_Demo_UI-build-desktop'
C:/QtSDK/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `E:/Bose/Qt playground/IDT_Demo_UI-build-desktop'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\QtSDK\Desktop\Qt\4.7.2\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.7.2\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.7.2\mingw\include" -I"c:\QtSDK\Desktop\Qt\4.7.2\mingw\include\ActiveQt" -I"debug" -I"." -I"..\IDT_Demo_UI" -I"." -I"c:\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\win32-g++" -o debug\main.o ..\IDT_Demo_UI\main.cpp
In file included from ..\IDT_Demo_UI\main.cpp:2:
..\IDT_Demo_UI/idt_mainwindow.h:4:30: error: QSystemStorageInfo: No such file or directory
In file included from ..\IDT_Demo_UI\main.cpp:2:
..\IDT_Demo_UI/idt_mainwindow.h:23: error: ISO C++ forbids declaration of 'QSystemStorageInfo' with no type
..\IDT_Demo_UI/idt_mainwindow.h:23: error: expected ';' before '*' token
mingw32-make[1]: Leaving directory `E:/Bose/Qt playground/IDT_Demo_UI-build-desktop'
mingw32-make: Leaving directory `E:/Bose/Qt playground/IDT_Demo_UI-build-desktop'
mingw32-make[1]: *** [debug/main.o] Error 1
mingw32-make: *** [debug] Error 2
The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project IDT_Demo_UI (target: Desktop)
@When executing build step 'Make'
and this is .h file
@
#ifndef IDT_MAINWINDOW_H
#define IDT_MAINWINDOW_H#include <QSystemStorageInfo>
#include <QtGui>
#include <QMainWindow>namespace Ui {
class IDT_MainWindow;
}class IDT_MainWindow : public QMainWindow
{
Q_OBJECTpublic:
explicit IDT_MainWindow(QWidget *parent = 0);
~IDT_MainWindow();private:
Ui::IDT_MainWindow *ui;QSystemStorageInfo *sti;
};
#endif // IDT_MAINWINDOW_H
@
-
please wrap your code with @ tag
-
I am realy sorry vinb...I didn't get you !! how to rap with a tag ??
-
i dont think "QSystemStorageInfo" exist in Qt,
only:
QSysInfo
QSystemLocale
QSystemSemaphore
QSystemTrayIconIf it is your own made you have to use "" instead of <>.
-
use @
then your code and end with "@" without the "" -
Your problem lies more in the beginning of your build output:
@
..\IDT_Demo_UI/idt_mainwindow.h:4:30: error: QSystemStorageInfo: No such file or directory
@where does QSystemStorageInfo come from?
If I googled correctly, it's part of QtMobility, did you install that? did you add the needed include paths in the pro file?
-
ok...then which class should i use to get the system storage info if it is for desktop application ?
-
Afaik QtMobility may also be used on the Desktop. But you have to set your include paths.
-
please guide me how to set that ...
-
I said Afaik, not that I did it before ;-)
I never used QtMobility
-
[quote author="Thomas Kennedy" date="1301490967"]ok...then which class should i use to get the system storage info if it is for desktop application ?[/quote]
I don't know what info you want to get from QSystemStorageInfo, but maybe "QDesktopServices::storageLocation() ":http://doc.qt.nokia.com/4.7/qdesktopservices.html#storageLocation provides what you need.
-
In order to use the QSystemStorageInfo class from Mobility, be sure that in your .pro file you have included the lines
@
CONFIG += mobility
MOBILITY += systeminfo
@ -
Thanks a lot...
without changing .pro file I am trying with QDir::Drives()..I will update you soon about my results..before that I have another query...
I have placed my controls on the main window by opening 'mainwindow.ui' in design mode..how would I create control variables for those controls in my code using QTCreator ?
-
"control variables"? You mean you need a pointer to them?
@
m_ui->myCoolLineEdit->setText("I'm so cool!");
@works for me. myCoolLineEdit is of course the name you gave the widget in Designer, and m_ui is the member variable that holds the UI class you created.
-
excellent..now i understood this part Andre..I have creaed a QTreeWidget on my MainWindow and coded like tihs..
@
ui->treeWidgetDrives = new QTreeWidget();
ui->treeWidgetDrives->setColumnCount(1);
QStringList strlstHeaders;
strlstHeaders<<tr("Storage Drives");
ui->treeWidgetDrives->setHeaderLabels(strlstHeaders);
@...when i run my code nothing is happened to my TreeWidget(no header is assigned)..instead it is showing the properties which i set from 'Edit Tree Widget' dialog !!!
[EDIT: code formatting, please use @-tags, Volker]
-
The tree widget is automatically created for you. Just remove the first line of your snippet.
-
if i remove that line and run the code I am not getting my Window displayed and here is the ouput..
Starting E:\Bose\Qt playground\IDT_Demo_UI-build-desktop\debug\IDT_Demo_UI.exe...
E:\Bose\Qt playground\IDT_Demo_UI-build-desktop\debug\IDT_Demo_UI.exe exited with code -1073741819 -
code -1073741819 = 0xC0000005. On windows this means an access violation. Seems like your UI is not initialized properly or messed up in some way....
-
perfect analysis..
I have moved this line to bottom of the code like this..
@
IDT_MainWindow::IDT_MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::IDT_MainWindow){
// my code here...ui->setupUi(this);
}
@now i moved it to top and works fine..thanks a ton
[EDIT: code formatting, please use @-tags or the editor button, Volker]
-
only one child item is being shown to my TreeWidget..please look into my code and lemme know where I went wrong !!
@IDT_MainWindow::IDT_MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::IDT_MainWindow){
ui->setupUi(this);ui->treeWidgetDrives->setColumnCount(1); QStringList strlstHeaders; strlstHeaders<<tr("Storage Drives"); ui->treeWidgetDrives->setHeaderLabels(strlstHeaders); SetupTreeItems();
}
void IDT_MainWindow::SetupTreeItems()
{
QTreeWidgetItem *treeItems = new QTreeWidgetItem(ui->treeWidgetDrives);
treeItems->setText(0,tr("SystemDrives"));
QTreeWidgetItem *treeChildItems = new QTreeWidgetItem(treeItems);
QDir dir;
dir.setFilter(QDir::Drives);QFileInfoList roots = dir.drives(); for(int i=0 ; i<roots.count() ; ++i) { QFileInfo fiDrives = roots.at(i); QString strDrive = fiDrives.absoluteFilePath(); treeChildItems->setText(i,strDrive); }
}@