ทำไม Ubuntu.Components 0.1 หายไปจาก QTCreator


13

ก่อนอื่นต้องสร้างแอพ "hello world" โดยใช้ QML & QT Creator ตามที่อธิบายไว้ที่นี่ http://developer.ubuntu.com/get-started/gomobile/

ที่สองเมื่อฉันพยายามติดตั้งแพลตฟอร์ม QML และการพึ่งพาฉันไม่สามารถเรียกใช้ขั้นตอนที่ 2 (ของ "ติดตั้งภาพตัวอย่างชุดเครื่องมือ Ubuntu QML") เพราะฉันมี distro (backbox) ตาม ubuntu 12.04 แต่ฉันแก้มันโดยทำตาม คำแนะนำของโพสต์นี้: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

ประการที่สามเมื่อฉันเปิด QTCreator และพยายามใช้งานCurrencyConverter (แอพ helloWorld) โปรแกรมไม่สามารถค้นหาแพ็คเกจต่อไปนี้:

import Ubuntu.Components 0.1

ฉันจะทำอย่างไรเพื่อเรียกใช้แอพ

ขอบคุณล่วงหน้า.

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
       }
    }
}

คุณช่วยเพิ่มข้อมูลเพิ่มเติมได้ไหม คุณเป็นผู้ดำเนินการแอปจริง ๆ ? แอปทำงานหรือไม่หากคุณเรียกใช้จากบรรทัดคำสั่ง คุณแน่ใจหรือไม่ว่าคุณใช้คำสั่งการติดตั้งต่อไปนี้ในขั้นตอนเริ่มต้นใช้งาน echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
David Planella

สวัสดีใช่แน่นอน ... ฉันแค่คัดลอกและวางคำสั่ง มั่นใจ 100% ว่าถูกต้องดังนั้นขั้นตอนแรกและขั้นตอนที่สองจะเสร็จสิ้น หลังจากนั้นฉันเปิด QTCreator และฉันทำตามคำแนะนำของขั้นตอนที่สามข้างต้น เมื่อฉันวางโค้ดด้านบนบรรทัด "import Ubuntu.Components 0.1" ถูกไฮไลต์และกำลังพูดว่า "ไม่พบโมดูล QML เส้นทางการนำเข้า: / usr / lib / qt4 / import" โปรดทราบฉันไม่ได้ใช้อูบุนตู แต่เป็น distro ที่ใช้ Ubuntu 12.04 ข้อแตกต่างเพียงอย่างเดียวคือมี xfce4 และไม่ใช่ความสามัคคี
CodeArtist

@DavidPlanella ฉันอายุ 12.10 และประสบกับสิ่งเดียวกัน ฉันคัดลอก + วางทั้งคำสั่งและทุกอย่างดูเหมือนจะหายไป ใน QtCreator ด้วยตัวอย่าง - CurrenyConverter.qml: 2: 1: โมดูล "Ubuntu.Components" ไม่ได้ติดตั้ง (ฉันยังได้รับข้อผิดพลาดเดียวกันสำหรับ 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 / เกม: / usr / local / เกม
เทรนต์

@ JorgeCode สิ่งที่คุณอธิบายคือฉันเชื่อว่าคำเตือนใน Qt Creator ซึ่งไม่ควรหยุดการเรียกใช้รหัส ดังที่ได้กล่าวไว้ข้างต้นคุณจะได้รับข้อความแสดงข้อผิดพลาดเมื่อคุณเรียกใช้แอพด้วยqmlsceneจากบรรทัดคำสั่ง ถ้าเป็นเช่นนั้นผลลัพธ์ที่แน่นอนในบรรทัดคำสั่งคืออะไร?
David Planella

@DavidPlanella ฉันยังได้รับข้อผิดพลาดเดียวกันและนี่คือรหัสที่ฉันได้รับจาก terminal หรือ Qt Creator เมื่อฉันได้รวบรวม paste.ubuntu.com/1658717และฉันได้รับบรรทัดสีแดงที่นำเข้า Ubuntu.Components 0.1 สิ่งที่ฉันต้องทำตอนนี้
rɑːdʒɑ

คำตอบ:


3

ฉันพบวิธีแก้ปัญหาอย่างน้อยสำหรับ Ubuntu 12.04 ฉันต้องไปที่เว็บไซต์อย่างเป็นทางการhttp://qt-project.org/downloads#qt-creatorและดาวน์โหลดแพ็คเกจ Qt ล่าสุดซึ่งเป็น Qt 5.0.0

* หมายเหตุ : Ubuntu 12.04 ไม่ได้รวมรุ่น Qt ล่าสุดดังนั้นคุณต้องดาวน์โหลดด้วยตนเอง

* หมายเหตุ : ก่อนการติดตั้งฉันจะลบ QtCreator รุ่นก่อนหน้า (2.5.0)

สิ่งที่คุณต้องทำเพื่อติดตั้งแพ็คเกจ Qt5 คือ:

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

จากนั้นเพียงแค่เรียกใช้แพคเกจและเรียกใช้ตัวติดตั้งด้วยการตั้งค่าเริ่มต้น

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

  • ตอนนี้ควรมี/opt/qt5/imports/Ubuntu/Componentsทางเดินพร้อมกับไลบรารีทั้งหมด!

หลังจากนั้นฉันทำตามคำแนะนำของCurrencyConverter

* โปรดสังเกตว่าบรรทัด: import Ubuntu.Components 0.1 ยังคงถูกเน้นด้วยเส้นสีแดง แต่โปรแกรมจะทำงานตามปกติโดยเลือก Tools > External > Qt Quick > Preview (qmlviewer)(ขอบคุณ @David Planella)


เส้นสีแดงนั่นทำให้เสียสมาธิสำหรับนักอุดมคติอย่างฉัน มีวิธีใดที่จะแก้ไขสิ่งที่ทำให้เกิดปัญหา
สุภาพบุรุษ

0

คุณสามารถไปที่ตัวเลือก -> สร้างและเรียกใช้ -> รุ่น qt (ฉันมีรุ่นภาษาโปแลนด์ดังนั้นฉันจึงต้องแปลกลับเป็นภาษาอังกฤษ - ขออภัยหากชื่อแตกต่างกันเล็กน้อย) จากนั้นคุณเพิ่มเวอร์ชันล่าสุดqtที่คุณได้ติดตั้ง - /opt/qt5/binมันอยู่ใน


0

หากคุณติดตั้ง QT5 อย่างถูกต้องและยังคงimport Ubuntu.Components 0.1เน้นอยู่คุณควรทำสิ่งนี้:

  • เปิดไฟล์. qmlproject (รวมอยู่ในโครงการที่สร้างขึ้นโดยอัตโนมัติ)
  • เพิ่มข้อความนี้: importPaths: [ "/opt/qt5/imports" ]ก่อนปิดครั้งสุดท้าย:}

... และปัญหาควรจะหมดไป


0

คุณอาจจะต้องการเรียกใช้ / สร้างการสาธิต qt ทั้งหมดโดยการเปิดไฟล์. pro สำหรับตัวอย่างเฉพาะ

chown -R yourusername /opt/qt5/examples/

เมื่อฉันไปสร้างตัวอย่าง opengl / textures โดยเปิดไฟล์ textures.pro ภายใน qtcreator มันกำหนดค่าโปรเจ็กต์โดยอัตโนมัติ แต่มันชี้ไปที่ QT4 โดยปริยาย ฉันพบข้อผิดพลาดแปลก ๆ ที่บอกว่าไม่พบ QtWidgets เมื่อฉันพยายามสร้างโดยใช้ qt4 ด้วย Qt5 เป็นเครื่องมือสร้างปัญหาก็หายไป

ทำให้แน่ใจว่าคุณได้จุดเพื่อ QT5 เป็นโครงการสร้างสำหรับการแก้ปัญหา / ปล่อยเพราะมันไม่ใช่ค่าเริ่มต้นใน qtcreator มิฉะนั้นคุณจะได้รับข้อผิดพลาดแปลก ๆ เมื่อสร้าง ปัญหานี้ง่ายต่อการสังเกตเห็นในผลลัพธ์ของการคอมไพล์ซึ่งควรแสดง qt5 include และพา ธ 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.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.