2010-11-06 35 views
10

Tôi đã thêm QAction vào QToolBar trong MainWindow của mình trong Thiết kế Qt (sử dụng Qt Creator IDE) và cho rằng biểu tượng Hành động (được thực hiện bằng "Chọn tệp" và chọn tệp .png của tôi nằm trong cùng thư mục với dự án và mã nguồn của tôi). Biểu tượng hiển thị tốt trên thanh công cụ trong Qt Designer, nhưng không hiển thị khi dự án đang chạy. Tôi đã gặp sự cố tương tự khi chọn biểu tượng thanh tiêu đề trên cửa sổ. Tôi chưa bao giờ sử dụng đồ họa trong Qt trước đây, có điều gì đặc biệt tôi cần phải làm không?Qt/C++: Biểu tượng không hiển thị khi chương trình đang chạy

Ảnh chụp màn hình:

Trả lời

11

Bạn tạo một tập tin QRC (có nghĩa là, tương đương với Qt của một tập tin tài nguyên?) Nếu không, điều đó sẽ giải thích những gì bạn đang nhìn thấy. Các biểu tượng sẽ hiển thị trong trình tạo, nhưng không hiển thị trong tệp thực thi được biên dịch cuối cùng. Có một cái nhìn lúc này:

http://doc.qt.io/qt-5/resources.html

+0

Tôi đã không làm vậy và hiện tại tôi đang cố gắng. Rõ ràng bạn có thể chỉnh sửa/thiết lập tài nguyên trong Qt Creator IDE, nhưng tôi không thể tìm thấy tài nguyên này trình duyệt tài liệu nói về (http://doc.troll.no/4.7/designer-resources.html). Điều đó đề cập đến Tools-> Resource Browser không tồn tại đối với tôi. Bạn có quen thuộc với điều này? Cảm ơn! – Joseph

+1

Trước tiên, bạn cần thêm tệp tài nguyên mới vào dự án của mình. (Tức là, tệp QRC). Một khi bạn đã làm điều đó, bạn sẽ thấy trình duyệt tài nguyên. Hãy xem xét điều này: http://www.qtforum.org/article/33043/resource-browser-option-missing.html – Bart

+0

Hoàn hảo, cảm ơn! – Joseph

0

Các bạn đã thử mở các tập tin dự án. Ví dụ, tập tin dự án của tôi được đặt tên menu.pro và nó chứa những điều sau đây:

TEMPLATE = app 
QT = gui core 
CONFIG += qt debug warn_on console 
DESTDIR = bin 
OBJECTS_DIR = build 
MOC_DIR = build 
UI_DIR = build 
FORMS = ui/mainwindow.ui 
HEADERS = src/mainwindowimpl.h 
SOURCES = src/mainwindowimpl.cpp src/main.cpp 
RESOURCES = Images.qrc 

Dòng cuối cùng (RESOURCES = Images.qrc) là những gì bạn cần để đưa vào hồ sơ dự án của bạn: tất nhiên, sử dụng tên mà bạn sử dụng cho bạn tệp tài nguyên, trong trường hợp của tôi, nó là Images.qrc.

0

Tôi cũng gặp phải vấn đề như vậy. Trong trường hợp của tôi, tôi đã đóng người tạo qt và xóa thư mục xây dựng (chẳng hạn như tên dự án xây dựng ..). Sau đó khởi động lại qt creator. Sau đó, kỳ diệu biểu tượng của tôi xuất hiện trên ứng dụng đang chạy.

Tôi thường sử dụng mẹo này khi qt không hoạt động tốt.

9

Tôi thấy mình đang làm mọi thứ phù hợp, thêm tệp qrc và đặt biểu tượng của tôi ở đó. Khi tôi chạy chương trình không có thỏa thuận. Rẽ ra tôi đã quên để chạy qmake:

  • Nhấp chuột phải tên của dự án của bạn và chọn "Run qmake". Hoặc vào Build> Run qmake.

Mỗi lần bạn thay đổi thứ gì đó trong tệp .pro bạn cần chạy lại qmake. Tạo một tệp tài nguyên ngầm thêm các argunments vào tệp .pro, vì vậy bạn cần làm điều đó.

Hy vọng nó sẽ giúp những người khác ngoài kia.

1

Ngoài ra trong trường hợp tạo bóng, đừng quên sử dụng windeployqt.exe trên tệp thi hành ứng dụng của bạn. Sau đó một số thư mục sẽ được thêm vào thư mục xây dựng của bạn. Hai thư mục quan trọng một phần: iconenginesimageformats chứa nhiều dll cần thiết để tải và vẽ biểu tượng.

+0

.exe này nằm ở đâu? –

0
  1. Trong khi thêm biểu tượng, hãy sử dụng tùy chọn "Chọn tài nguyên" thay vì tùy chọn "Chọn tệp".
  2. Nhấp chuột phải vào tên dự án của bạn và nhấp vào "Chạy qmake".
Các vấn đề liên quan