Solved Problems in practicing and running an example
-
Hi all,
I'm reading this example and did the following works:
1- Using this path I created
Main.qml
:
file -> New Project -> (File and Classes) Qt -> QML File (Qt Quick 2) -> choose -> Main -> Finish.2- Typed the code in the image below in
main.qml
.
3- Ranqmake -project
to create.pro
file. Then configured the project for allDesktop
,Android Arm
andAndroid x86
. Then ran the code and it didn't work! :(Here is the image containing the code and the problem:
https://ibb.co/bwrDqQHave I done the project correctly please?
-
The Main.qml isnt in your Project Structure. That means you didnt add the File to the .pro File. After adding you need to run qmake again.
-
@Fuel said in Problems in practicing and running an example:
The Main.qml isnt in your Project Structure. That means you didnt add the File to the .pro File. After adding you need to run qmake again.
By right-clicking on Main in Projects view I tried to add that
Main.qml
file but I couldn't! How to add it please?
And what is the right method of doing such a example from the beginning please? -
How would you do that example by yourself if you were me please?
-
Hi
Did you make a QML project ?
You should have the following in main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);QQmlApplicationEngine engine; engine.load(QUrl(QLatin1String("qrc:/main.qml"))); return app.exec();
}
-
Thank you. I did like what you said.
Here are my files:
Main.cpp, Mai.qml, Page1.qml and Page1.form.ui.qml.I get these errors which belong to (the path of) images I think:
qrc:/main.qml:5:1: QML Image: Protocol "c" is unknown
qrc:/main.qml:9:4: QML Image: Protocol "c" is unknown
qrc:/main.qml:16:4: QML Image: Protocol "c" is unknown -
@tomy said in Problems in practicing and running an example:
qrc:/main.qml:5:1: QML Image: Protocol "c" is unknown
its error inside file. something is not right there.
I think they image paths are invalid
https://stackoverflow.com/questions/17610949/protocol-c-is-unknown-error-in-qml
You shall use URL syntax.
or even better. use qres file and the :/file syntax -
I tested all three options.
The first mode faced errors.
The second one and third one showed nothing although had no issues!
What is the problem please? -
@tomy
In all cases you user the same path c:/xxxx, so i think paths are the issue. -
All images are in the same folder on my Desktop, in this address:
C:\Users\Abbasi\Desktop\imagesSo how should I give the paths of images to the code please?
-
@tomy
Hi
I would move the images to an image folder under the project.
Then i would use a qres file and the ":/" syntax
(like here engine.load(QUrl(QLatin1String("qrc:/main.qml")));)https://www.youtube.com/watch?v=sWIQIi4lg58
http://www.bogotobogo.com/Qt/Qt5_Resource_Files.phpYou can right click an image when inside the qres file and get path there.
-
Hi,
The purpose is to add a folder (or some files) to the project as resources to use them easier, yeah? OK, I did these:
According to the tuts, I created a Resource file named MyRes like this.
Please note that the Path there is the same path as the project (Main).I use /MyFiles as the Prefix and add all 4 files, the images (from the image folder on the Desktop).
When adding the files, this message is appeared for all four files. I don't know what to do here. -
@tomy
Hi
Can you right click myres.qrc and choose "Add existing files" , then
select the images. ? -
Yes,
And it resulted in this!
-
That is why i wanted you to move the images to under the project.
The :/Myfile path is not correct. the files are not there...Anyway, now right click each image and you can copy correct path to use.
-
The program runs without error but show nothing! Does it work for you please?
What is the problem of this part if it's correct?You say that you would move the images to an image folder under the project. But how? If you mean using those two tuts, I tried and also posted the error I faced at that time. The current style of adding the path of images (as shown in the screenshot) is rather ugly I think moving the images into a folder under the project would be nicer and better.
-
@tomy
Just use the normal explorer to move the files under the project
Try to use the qrc:/ syntax then. Since its compiled into the
.exe i assumed :/ would work. -
Just use the normal explorer to move the files under the project
What is this please?
This time I tried the following but no success again.
I copied the images folder into the project folder and used an images.qrc file like this and ran the app using that prefix name. It says it cannot open the files! What is the problem this time?
Where did I go wrong? -
Tried again using a new project named
Main3
as below, copying theimage
folder into the project folder.
Here is the content of the files:
main3.pro
main.cpp
images.qrc
main.qml
page1.qml
Page1Form.ui.qml
qtquickcontrols2.confThe program runs:
Issues
window shows nothing.
Application Output
shows this:
Starting C:\Users\Abbasi\Documents\QML\Main3\Main3\build-Main3-Desktop_Qt_5_9_0_MinGW_32bit-Debug\debug\Main3.exe...
QML debugging is enabled. Only use this in a safe environment.Compile Output
shows:
12:35:55: Elapsed time: 00:00.And
General Messages
shows nothing.The app shows nothing as the output.
What is the problem? Why can't I run this example successfully?
Why everything with Qt is that complicated and confusing? -
@tomy
You are still having issues with the paths/syntax
The path you use is invalid
Should have the form
qrc:/images/filename.pngUse the right click menu to make sure its correct.