nhờ @Owen, nhưng tôi muốn thêm một vài lưu ý, đối với Qt 5.7:
1 .QWidget :: setStyle() không mất quyền hạn của đối tượng kiểu, vì vậy bạn cần xóa nó sau khi sử dụng nó, hoặc nó sẽ gây ra rò rỉ tài nguyên.
2.for QProxyStyle (QStyle *), QProxyStyle sẽ sở hữu kiểu nhập, nhưng w-> style() có thể trả về đối tượng kiểu QApplication nếu kiểu tùy chỉnh của nó không được đặt. do đó
new iconned_dock_style(QIcon(":/icons/icons/utilities-terminal.png"), w->style())
có thể sở hữu đối tượng kiểu của ứng dụng và khi hủy, nó sẽ xóa đối tượng. điều này sẽ làm hỏng ứng dụng trên thời gian tắt máy của QApplicatoin.
vì vậy bây giờ tôi sử dụng
new iconned_dock_style(QIcon(":/icons/icons/utilities-terminal.png"), NULL)
này hoạt động tuyệt vời; cảm ơn! – Owen