Làm cách nào tôi có thể nhận các ứng dụng Qt5 để sử dụng chủ đề GTK trong Ubuntu 17.04?


9

Vì tôi đã cập nhật lên Ubuntu 17.04, các ứng dụng Qt5 (như Qt Creator) sẽ không sử dụng chủ đề GTK nữa. Tôi đã cố gắng thay đổi điều này bằng cách sử dụng qt5ct , nhưng nó chỉ có sẵn kiểu FusionWindows , mặc dù gói đó đã qt5-gtk-platformthemeđược cài đặt.

Làm thế nào để sửa cái này?

Chỉnh sửa: Tôi đang sử dụng Unity.

Câu trả lời:


7

Giao diện của các ứng dụng Qt5 được xác định bởi các chủ đề và phong cách nền tảng. Chủ đề nền tảng chịu trách nhiệm cho các biểu tượng, phông chữ, v.v. và kiểu điều khiển cách hiển thị các widget. Tôi nghĩ bạn sẽ thấy ứng dụng của mình như Qt Creator đang sử dụng chủ đề nền tảng GTK3 làm tiêu chuẩn.

Sự cố đã xảy ra kể từ Qt5.7. Trong phiên bản này, chủ đề và phong cách nền tảng GTK2 đã bị xóa và thay thế bằng chủ đề nền tảng GTK3. Gần đây tôi đã thảo luận với các nhà phát triển Qt và có vẻ như không có kiểu GTK3 để bổ sung cho chủ đề nền tảng và hiện tại không có kế hoạch để thực hiện điều này trong tương lai. Do đó, trên Ubuntu, kiểu mặc định là "Fusion" sử dụng chủ đề nền tảng GTK3.

Có một số phương pháp để thêm một kiểu gốc như sau:

  1. Chủ đề và phong cách nền tảng GTK2 cũ vẫn có sẵn trong một gói riêng gọi là qtstylepluginscó thể tải xuống ở đây . Thật không may, kiểu GTK2 không tương thích với chủ đề nền tảng GTK3. Nếu bạn muốn sử dụng kiểu GTK2, bạn sẽ phải sử dụng chủ đề nền tảng GTK2. Điều này có nghĩa là các hộp thoại của bạn, v.v. không có vẻ tự nhiên trong Ubuntu 17.04. Tuy nhiên, bạn có thể thích nó hơn "Fusion".
  2. Bạn đã không nói rõ môi trường máy tính để bàn nào bạn đang sử dụng. Có một chủ đề và phong cách nền tảng của bên thứ ba được gọi là QGnomePlatformcó sẵn ở đâyadwaita-qtcó sẵn ở đây . Điều này cung cấp giao diện hoàn toàn tự nhiên khi sử dụng Ubuntu Gnome.

Đối với Qt Creator, tôi không chắc chắn 100% nếu nó sử dụng các vị trí chủ đề / phong cách toàn cầu. Bạn có thể phải cài đặt chúng trong {Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\platformthemes\{Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\styles\.


Cảm ơn vì lời giải thích chi tiết. Tôi sẽ không nhớ Fusion rất nhiều nếu kết xuất phông chữ sẽ không quá kinh khủng. Có một lỗi mở ở đâu đó về điều này?
Philipp Ludwig

Các phông chữ không xuất hiện kém so với những gì tôi đã thấy trên hệ thống của mình. Bạn có một ảnh chụp màn hình này?
gsxruk

Tôi đã tải lên một ảnh chụp màn hình ở đây: imgur.com/a/u34W6 Bên trái là Qt Creator, bên phải là phiên vim trong gnome-terminal. Tôi đồng ý rằng điều đó rất tinh tế, nhưng phông chữ Qt chỉ cảm thấy mờ (hoặc mờ hơn?) Đối với tôi. Cả hai ứng dụng được đặt thành Ubuntu Mono 12.
Philipp Ludwig

Tôi hiểu ý của bạn, nhưng tôi đồng ý nó thật tinh tế. Xin lỗi, không biết nên gợi ý gì về vấn đề đó.
gsxruk

Trong trường hợp bạn quan tâm: Tôi đã có kết quả tốt hơn với tính phổ biến trên funtoo, nhưng theo như tôi biết thì bản vá này không còn được duy trì đúng cách nữa. Dù sao, các phông chữ trông tốt hơn nhiều trên máy tính xách tay của tôi, có bảng điều khiển IPS, vì vậy có lẽ tôi chỉ cần nâng cấp màn hình 7 năm trên máy tính để bàn của mình. Cảm ơn bạn đã giúp đỡ!
Philipp Ludwig

5

Ngoài việc qt5ctbạn cũng cần cài đặt qt5-style-pluginsgói, thì bạn nên lấy chủ đề 'gtk2' trong qt5ct

sudo apt-get install qt5-style-plugins

Và, theo các tài liệu qt5ct , đừng quên đặt QT_QPA_PLATFORMTHEME=qt5cttrong /etc/X11/Xsession.d/56xubuntu-sessionvà / hoặc/etc/environment


Câu trả lời này làm việc cho tôi, mà không cần cài đặt qt5ct.
DMT

có, chỉ cài đặt các plugin kiểu qt5 (nghĩa là w / o qt5ct) chỉ hoạt động tốt để tạo kiểu qt5.7 + với gtk2. qt5ct chỉ cần thiết nếu bạn cũng muốn sử dụng các kiểu khác cho qt5.7 + hơn gtk2
Gyll 12/12/17

btw, bị bệnh và mệt mỏi vì sự không nhất quán trên máy tính để bàn của tôi, cuối cùng tôi đã kết hợp một chủ đề của riêng mình, bạn có thể muốn kiểm tra xem nếu sự không nhất quán điều khiển các hạt của bạn: xfce-evolution.sourceforge.net
Gyll
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.