Tôi thực sự thích Qt, nhưng nó hơi nặng đối với nhiều ứng dụng. Đôi khi bạn không cần mức độ phức tạp đó. Đôi khi bạn chỉ cần một cái gì đó đơn giản mà không cần tất cả chi phí của Qt. Không phải mọi ứng dụng đều cần phải hướng sự kiện và C ++ cung cấp một bộ mẫu hợp lý. Boost cung cấp một bộ rất tốt khác và bao gồm rất nhiều chức năng cấp thấp (tệp, ổ cắm, con trỏ được quản lý, v.v.) mà QT thực hiện.
Các ứng dụng khác có các yêu cầu cấp phép không hoạt động tốt với giấy phép thương mại của GPL, LGPL hoặc Qt. GPL không phù hợp với phần mềm thương mại. LGPL không phù hợp với phần mềm được liên kết tĩnh và giấy phép thương mại phải trả tiền - điều mà nhiều người không sẵn sàng trả.
Một số có cân nhắc về bảo mật hoặc tính ổn định không cho phép các thư viện phức tạp như Qt.
Bạn cần chạy moc để xử lý trước các nguồn của bạn. Đó không phải là một vấn đề lớn, nhưng nó có thể gây khó khăn cho người dùng mới. Rất nhiều lập trình viên nghĩ rằng bạn cần sử dụng qmake với Qt, nhưng đó là một cách hiểu sai. Có thể cắm Qt vào các hệ thống xây dựng khác khá dễ dàng.
Một số mục tiêu rất hạn chế bộ nhớ hoặc CPU.
Có một số vấn đề nền tảng cụ thể trong đó. Hầu hết các gotchas là không có giấy tờ. Xây dựng một ứng dụng đủ lớn và bạn sẽ gặp phải chúng và tự hỏi chuyện gì đang xảy ra (từ chối trách nhiệm, lần cuối cùng tôi sử dụng Qt trong cơn giận dữ là hơn 18 tháng trước, vì vậy nó có thể đã được cải thiện).
Chỉ có C ++. Các ràng buộc ngôn ngữ khác tồn tại, nhưng chúng có xu hướng che giấu hoặc phơi bày kém rất nhiều chức năng mà bạn muốn Qt cho.
Có rất nhiều lý do để không sử dụng Qt, đó là lý do tại sao có những lựa chọn thay thế. Nếu tất cả những gì bạn có là một cái búa thì mọi vấn đề sẽ trông giống như một cái đinh.