Mengapa Ubuntu.Components 0.1 hilang dari QTCreator?


13

Pertama-tama saya perlu membuat aplikasi "hello world" menggunakan QML & QT Creator seperti yang dijelaskan di sini http://developer.ubuntu.com/get-started/gomobile/

Kedua, ketika saya mencoba untuk menginstal platform QML dan dependensi saya tidak dapat menjalankan langkah 2 (dari "Instal pratinjau Ubuntu QML toolkit") karena saya memiliki distro (backbox) berdasarkan ubuntu 12.04 tetapi saya menyelesaikannya dengan mengikuti petunjuk pos ini: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

Ketiga, ketika saya membuka QTCreator dan mencoba mengeksekusi CurrencyConverter (aplikasi helloWorld) program tidak dapat menemukan paket-paket berikut:

import Ubuntu.Components 0.1

Apa yang dapat saya lakukan untuk menjalankan aplikasi?

Terima kasih sebelumnya.

import QtQuick 2.0
import Ubuntu.Components 0.1

Rectangle {
    id: root
    width: units.gu(60)
    height: units.gu(80)
    color: "lightgray"

    property real margins: units.gu(2)
    property real buttonWidth: units.gu(9)

    Label {
       id: title
       ItemStyle.class: "title"
       text: i18n.tr("Currency Converter")
       height: contentHeight + root.margins
       anchors {
           left: parent.left
           right: parent.right
           top: parent.top
       }
    }
}

Bisakah Anda menambahkan informasi lebih lanjut? Bagaimana sebenarnya Anda menjalankan aplikasi? Apakah aplikasi berjalan jika Anda menjalankannya dari baris perintah? Apakah Anda yakin Anda menjalankan sedikit perintah instalasi berikut pada langkah memulai? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
David Planella

hai, ya tentu saja ... saya hanya menyalin dan menempelkan perintah. Apakah 100% yakin itu benar, sehingga langkah pertama dan kedua dilakukan. Setelah itu saya membuka QTCreator dan saya mengikuti instruksi dari langkah ketiga di atas. Ketika saya menempelkan kode di atas, baris "import Ubuntu.Components 0.1" disorot dan dikatakan "Modul QML tidak ditemukan. Jalur Impor: / usr / lib / qt4 / import". Harap dicatat saya tidak menggunakan ubuntu tetapi distro berbasis ubuntu 12.04. Satu-satunya perbedaan adalah yang memiliki xfce4 dan bukan kesatuan.
CodeArtist

@ Davidvidlan saya di 12,10 dan mengalami hal yang sama. Saya menyalin + menempelkan kedua perintah dan semuanya tampak baik-baik saja. Dalam QtCreator dengan contoh - CurrenyConverter.qml: 2: 1: modul "Ubuntu.Components" tidak diinstal (saya juga mendapat kesalahan yang sama untuk QtQuick 2.0). echo $ PATH / opt / qt5 / bin: / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games
trent

@JorgeCode, apa yang Anda gambarkan adalah saya percaya peringatan di Qt Creator, yang seharusnya tidak menghentikan kode dari berjalan. Seperti yang ditanyakan di atas, apakah Anda mendapatkan pesan kesalahan saat menjalankan aplikasi dengan qmlscenedari baris perintah, seperti yang dijelaskan dalam tutorial? Jika demikian, apa output tepat pada baris perintah?
David Planella

@ Davidvidlanlan, saya juga mendapatkan kesalahan yang sama dan ini adalah kode yang saya dapatkan dari terminal atau Qt Creator ketika saya selesai mengkompilasi. paste.ubuntu.com/1658717 dan saya mendapatkan garis merah di import Ubuntu.Components 0.1. Apa yang harus saya lakukan sekarang.
rɑːdʒɑ

Jawaban:


3

Saya menemukan solusinya setidaknya untuk ubuntu 12.04. Saya harus pergi ke situs resmi http://qt-project.org/downloads#qt-creator dan mengunduh paket Qt terbaru yaitu Qt 5.0.0.

* Catatan : Ubuntu 12.04 tidak termasuk versi Qt terbaru, jadi Anda harus mengunduhnya secara manual.

* Catatan : Sebelum instalasi saya menghapus versi QtCreator sebelumnya (2.5.0)

Yang harus Anda lakukan untuk menginstal paket Qt5 adalah:

  • chmod 755 qt-linux-opensource-5.0.0-x86_64-offline.run

Kemudian jalankan paket dan jalankan installer dengan pengaturan default.

  • ./qt-linux-opensource-5.0.0-x86_64-offline.run

  • Sekarang harus ada /opt/qt5/imports/Ubuntu/Componentsjalur, dengan semua perpustakaan!

Setelah itu saya mengikuti instruksi dari CurrencyConverter

* Perhatikan baris itu: import Ubuntu.Components 0.1 masih disorot dengan garis merah tetapi program berjalan normal dengan memilih Tools > External > Qt Quick > Preview (qmlviewer)(terima kasih kepada @ David Planella)


Garis merah itu mengganggu bagi perfeksionis seperti saya. Adakah cara untuk memperbaiki apa pun yang menyebabkannya?
Djentleman

0

Anda benar-benar dapat pergi ke opsi -> membangun dan menjalankan -> versi qt (Saya memiliki versi Polandia jadi saya harus menerjemahkannya kembali ke Bahasa Inggris - maaf jika namanya sedikit berbeda). Lalu Anda menambahkan versi terbaru dari qtyang sudah Anda telah menginstal - itu di /opt/qt5/bin.


0

Jika Anda telah menginstal QT5 dengan benar dan masih import Ubuntu.Components 0.1disorot Anda harus melakukan ini:

  • buka file .qmlproject (termasuk dalam proyek yang dibuat secara otomatis)
  • tambahkan teks ini: importPaths: [ "/opt/qt5/imports" ]sebelum penutupan terakhir:}

... dan masalah harus hilang.


0

Anda mungkin ingin menjalankan / membangun semua demo qt dengan membuka file .pro untuk contoh spesifik.

chown -R yourusername /opt/qt5/examples/

Ketika saya pergi untuk membangun contoh opengl / tekstur dengan membuka file textures.pro dalam qtcreator, itu secara otomatis mengkonfigurasi proyek TAPI itu menunjuk ke QT4 secara default. Saya mendapat kesalahan aneh yang mengatakan tidak bisa menemukan QtWidgets ketika saya mencoba membangun menggunakan qt4. Dengan Qt5 sebagai alat pembuatan, masalahnya hilang.

PASTIKAN ANDA POINT KE QT5 sebagai proyek yang dibangun untuk debug / rilis karena itu bukan default di qtcreator. Kalau tidak, Anda akan mendapatkan kesalahan aneh saat membangun. Masalah ini mudah dikenali dalam output kompilasi yang harus memperlihatkan path qt5 include dan qt5 libs.

2:58:51: Running steps for project textures...
12:58:51: Starting: "/usr/bin/make" clean -w
make: Entering directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop Release'
rm -f qrc_textures.cpp
rm -f moc_glwidget.cpp moc_window.cpp
rm -f glwidget.o main.o window.o qrc_textures.o moc_glwidget.o moc_window.o
rm -f *~ core *.core
make: Leaving directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
12:58:52: The process "/usr/bin/make" exited normally.
12:58:52: Configuration unchanged, skipping qmake step.
12:58:52: Starting: "/usr/bin/make" -w
make: Entering directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o glwidget.o ../textures/glwidget.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o main.o ../textures/main.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o window.o ../textures/window.cpp
/opt/qt5/bin/rcc -name textures ../textures/textures.qrc -o qrc_textures.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o qrc_textures.o qrc_textures.cpp
/opt/qt5/bin/moc -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. ../textures/glwidget.h -o moc_glwidget.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o moc_glwidget.o moc_glwidget.cpp
/opt/qt5/bin/moc -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. ../textures/window.h -o moc_window.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o moc_window.o moc_window.cpp
g++ -m64 -Wl,-O1 -Wl,-rpath,/opt/qt5/lib -o textures glwidget.o main.o window.o qrc_textures.o moc_glwidget.o moc_window.o   -L/usr/X11R6/lib64 -L/opt/qt5/lib -lQtOpenGL -lQtWidgets -lQtGui -lQtCore -lGL -lpthread 
make: Leaving directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
12:58:57: The process "/usr/bin/make" exited normally.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.