2016-05-19 68 views
5

Tôi đã đặt biểu tượng cho ứng dụng PyQt của tôi bằng cách sử dụng self.setWindowIcon(QtGui.QIcon('icon.png')) và nó hoạt động tốt khi tôi chạy mã của tôi trong PyCharm.PyInstaller Python và bao gồm biểu tượng cửa sổ

Tiếp theo tôi chuyển đổi ứng dụng của tôi vào một tập tin với PyInstaller:

pyinstaller.exe --onefile --windowed opc.py --name myapps

Tuy nhiên, khi chạy thực thi các biểu tượng không được hiển thị. Tôi đang làm gì sai?


Trên mã trang web bên trái từ PyCharm, trên trang web bên phải từ một tệp (pyinstaller.exe --onefile --windowed opc.py --name myapps). Tại sao không giống nhau? Tôi muốn biểu tượng * .png vì trong suốt.

enter image description here

Trả lời

3

Biểu tượng hiển thị khi chạy một thực thi trên Windows xuất phát từ tập tin thực thi của chính nó. Để nhóm biểu tượng với ứng dụng của bạn, bạn cần chỉ định biểu tượng khi xây dựng với pyinstaller.exe bằng cách chuyển tham số --icon. Ví dụ:

pyinstaller.exe --onefile --windowed --name myapps --icon=icon.ico opc.py 

Lưu ý rằng không giống như cho setWindowIcon() file icon phải ở định dạng .ico, vì vậy bạn sẽ cần phải chuyển đổi nó từ .png đầu tiên.

Nếu bạn muốn sử dụng lệnh PyQt để đặt biểu tượng, bạn sẽ cần phải đóng gói tệp biểu tượng vào tệp thực thi, có thể thực hiện bằng cách sử dụng PyInstaller spec file. Hướng dẫn của quá trình tạo và sửa đổi tệp thông số là trong this previous answer.

+0

Nó không phải là những gì tôi muốn. Tôi đã cập nhật câu hỏi của mình và thêm ảnh. – Luk

+0

@Luk xem chỉnh sửa ở trên. Bạn sẽ cần phải bó tệp '.png' vào tệp thực thi để đạt được những gì bạn muốn. Câu trả lời được liên kết nên thực hiện thủ thuật. – mfitzp

Các vấn đề liên quan