Tại sao Ubuntu.Components 0,1 bị thiếu từ QTCreator?


13

Trước hết tôi cần tạo một ứng dụng "xin chào thế giới" bằng cách sử dụng QML & QT Creator như được mô tả ở đây http: //developer.ub Ubuntu.com/get-started/eimobile/

Thứ hai, khi tôi đang cố gắng cài đặt nền tảng QML và các phụ thuộc tôi không thể chạy bước 2 (của "Cài đặt bản xem trước bộ công cụ Ubuntu QML") vì tôi có một bản phân phối (hộp thư ngược) dựa trên Ubuntu 12.04 nhưng tôi đã giải quyết nó bằng cách làm theo các hướng dẫn của bài đăng này: https://askubfox.com/questions/235440/how-do-i-install-the-qml-toolkit-on-12-04

Thứ ba, khi tôi mở QtCreator và cố gắng để thực hiện CurrencyConverter (HelloWorld ứng dụng) chương trình không thể tìm thấy các gói sau:

import Ubuntu.Components 0.1

Tôi có thể làm gì để chạy ứng dụng?

cảm ơn trước.

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

Bạn có thể vui lòng thêm thông tin? Làm thế nào bạn thực sự thực hiện các ứng dụng? Ứng dụng có chạy nếu bạn thực thi nó từ dòng lệnh không? Bạn có chắc chắn đã chạy đoạn bit sau của lệnh cài đặt ở bước bắt đầu không? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
David Planella

xin chào, tất nhiên rồi ... tôi chỉ cần sao chép và dán các lệnh. Chắc chắn 100% là đúng, vì vậy bước đầu tiên và bước thứ hai đã được thực hiện. Sau đó tôi mở QTCreator và tôi làm theo hướng dẫn của bước thứ ba ở trên. Khi tôi dán đoạn mã trên, dòng "nhập Ubuntu.Components 0.1" đã được tô sáng và thông báo "Không tìm thấy Mô-đun QML. Đường dẫn nhập: / usr / lib / qt4 / nhập". Xin lưu ý rằng tôi không sử dụng Ubuntu mà là một bản phân phối dựa trên Ubuntu 12.04. Sự khác biệt duy nhất là có xfce4 và không thống nhất.
CodeArtist

@DavidPlanella Tôi vào ngày 12.10 và trải nghiệm tương tự. Tôi đã sao chép + dán cả hai lệnh và mọi thứ dường như đã ổn. Trong QtCreator với ví dụ - CurrenyConverter.qml: 2: 1: mô-đun "Ubuntu.Components" chưa được cài đặt (Tôi cũng gặp lỗi tương tự cho 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, những gì bạn đang mô tả là tôi tin rằng một cảnh báo trong Qt Creator, không nên dừng mã chạy. Như đã hỏi ở trên, bạn có nhận được thông báo lỗi khi chạy ứng dụng của mình qmlscenetừ dòng lệnh, như được mô tả trong hướng dẫn không? Nếu vậy, đầu ra chính xác trên dòng lệnh là gì?
David Planella

@DavidPlanella, tôi cũng gặp lỗi tương tự và đây là mã tôi nhận được từ thiết bị đầu cuối hoặc Qt Creator khi tôi đã biên dịch xong. paste.ubfox.com/1658717 và tôi đang nhận được dòng màu đỏ khi nhập Ubuntu.Components 0.1. Bây giờ tôi phải làm gì.
rdʒɑ

Câu trả lời:


3

Tôi đã tìm ra giải pháp ít nhất cho Ubuntu 12.04. Tôi đã phải truy cập trang web chính thức http://qt-project.org/doads#qt-creator và tải xuống gói Qt mới nhất là Qt 5.0.0.

* Lưu ý : Ubuntu 12.04 không bao gồm phiên bản Qt mới nhất, vì vậy bạn phải tải xuống thủ công.

* Lưu ý : Trước khi cài đặt, tôi đã xóa phiên bản QtCreator trước đó (2.5.0)

Tất cả bạn phải làm để cài đặt gói Qt5 là:

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

Sau đó, chỉ cần thực hiện gói và chạy trình cài đặt với các cài đặt mặc định.

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

  • Bây giờ nên tồn tại /opt/qt5/imports/Ubuntu/Componentsđường dẫn, với tất cả các thư viện!

Sau đó, tôi đã làm theo hướng dẫn của MoneyConverter

* Lưu ý dòng đó: import Ubuntu.Components 0.1 vẫn được tô sáng bằng một dòng màu đỏ nhưng chương trình chạy bình thường bằng cách chọn Tools > External > Qt Quick > Preview (qmlviewer)(nhờ @David Planella)


Đường màu đỏ đó gây mất tập trung cho một người cầu toàn như tôi. Bất cứ cách nào để khắc phục bất cứ điều gì gây ra nó?
Djentman

0

Bạn thực sự có thể đi đến các tùy chọn -> xây dựng và chạy -> phiên bản qt (Tôi có phiên bản tiếng Ba Lan nên tôi phải dịch lại sang tiếng Anh - xin lỗi nếu tên hơi khác nhau). Sau đó, bạn thêm phiên bản mới nhất qtmà bạn đã cài đặt - đó là phiên bản mới /opt/qt5/bin.


0

Nếu bạn đã cài đặt đúng QT5 và vẫn import Ubuntu.Components 0.1được tô sáng, bạn nên làm điều này:

  • mở tệp .qmlproject (có trong dự án được tạo tự động)
  • thêm văn bản này: importPaths: [ "/opt/qt5/imports" ]trước khi đóng lần cuối:}

... và vấn đề sẽ biến mất.


0

Có lẽ bạn sẽ muốn chạy / xây dựng tất cả các bản demo qt bằng cách mở các tệp .pro cho các ví dụ cụ thể.

chown -R yourusername /opt/qt5/examples/

Khi tôi đi xây dựng ví dụ opengl / textures bằng cách mở tệp textures.pro trong qtcreator, nó sẽ tự động cấu hình dự án NHƯNG nó được trỏ đến QT4 theo mặc định. Tôi đã gặp một lỗi lạ nói rằng nó không thể tìm thấy QtWidgets khi tôi đang cố gắng xây dựng bằng cách sử dụng qt4. Với Qt5 là công cụ xây dựng, vấn đề đã biến mất.

HÃY ĐẢM BẢO BẠN ĐIỂM ĐẾN QT5 như bản dựng dự án để gỡ lỗi / phát hành vì nó không phải là mặc định trong qtcreator. Nếu không bạn sẽ gặp lỗi lạ khi xây dựng. Vấn đề này rất dễ phát hiện trong đầu ra biên dịch sẽ hiển thị các đường dẫn qt5 bao gồm và 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.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.