2012-11-02 21 views
5

Tôi đã cài đặt Qt 4.8.3 và Qt Creator 2.5.2 trên Fedora 17 và Ubuntu 12.04. Khi tôi tạo một ứng dụng GUI, các phần tử trực quan trông đẹp mắt trong cửa sổ xem trước Qt Designer. Tuy nhiên khi tôi chạy ứng dụng, ứng dụng kết quả có kiểu cũ hơn không phù hợp với hệ điều hành và không khớp với bản xem trước trong Qt Designer.Qt 4.8.3 Ứng dụng GUI trên Linux trông cũ và không khớp với bản xem trước thiết kế

Trong cả hai hình ảnh dưới đây, phần trên cùng là bản xem trước từ Nhà thiết kế Qt và phần dưới cùng là ứng dụng được biên dịch.

  • Qt đã được cài đặt bằng cách biên dịch các nguồn nằm ở http://qt-project.org/downloads
  • Trong giai đoạn ./configure của quá trình cài đặt, phiên bản "mã nguồn mở" đã được lựa chọn.
  • Vấn đề này xảy ra cho dù các ứng dụng đang chạy từ hệ điều hành hoặc phóng từ IDE

Có cách nào để làm cho ứng dụng GUI biên soạn xuất hiện đúng?

Fedora:

  • Lên trên nửa = Qt xem trước thiết kế (mong muốn)
  • dưới Nửa = kết quả ứng dụng

enter image description here

Ubuntu:

  • Lên trên nửa = preview Qt Designer (mong muốn)
  • dưới Nửa = kết quả ứng dụng

enter image description here

Phụ Lục: Dưới đây là một hình ảnh cho thấy một ứng dụng biên soạn 4.8.1 (làm thế nào nó phải trông giống như) enter image description here

Ngoài ra, nếu tôi inst cả 4.8.1 và 4.8.3 trên cùng một máy tính, thậm chí 4.8.1 ứng dụng đã biên dịch sẽ không xuất hiện đúng: enter image description here

+0

có bạn thiết lập các phong cách qt trong ứng dụng của bạn? hoặc kiểm tra cài đặt kiểu hệ thống qt –

+0

Trong các phiên bản trước của Qt, tôi không bao giờ cần thiết đặt kiểu nếu tôi muốn GUI phù hợp với kiểu của hệ điều hành gốc. Điều này có thay đổi trong phiên bản này không? – Daniel

+0

@DanielK Không có. Tôi đã tìm thấy các vấn đề kiểu dáng lẻ có thể xảy ra nếu ứng dụng 'qt settings' (có thể có một tên khác trong bản phân phối của bạn, thường có một cặp la bàn làm biểu trưng) đã bị rối tung. Tôi cũng tìm thấy các menu và văn bản trông kỳ lạ nếu tôi không có 'glabels' được cài đặt trên hệ thống của tôi dưới Gnome. – cmannett85

Trả lời

5

Sự cố được giải quyết.

Khi cài đặt nguồn Qt, các hướng dẫn quên đề cập đến danh sách thư viện dành cho nhà phát triển phải được cài đặt trước bước ./configure.Danh sách này có thể được tìm thấy ở đây: http://qt-project.org/wiki/Build_Qt_For_Linux

Ngoài ra, tôi đã gặp rắc rối biên soạn QtWebkit vì lỗi:

g++: error: unrecognized command line option ‘-fuse-ld=gold’

Để giải quyết vấn đề này mới, một trong hai giải pháp sau đây có thể xảy ra:

  • Tại bước cấu hình, chạy cấu hình với các tùy chọn -no-webkit: ./configure -no-webkit

HOẶC

  • Tháo dòng QMAKE_LFLAGS+=-fuse-ls-gold từ tập tin qt-everywhere.../src/3rdparty/webkit/Source/common.pri
Các vấn đề liên quan