2011-11-25 80 views
8

Tôi tạo cửa sổ chính bằng cách sử dụng lớp QWidget và đặt cờ cửa sổ thành Qt :: CustomizeWindowHint (để tắt thanh tiêu đề). Nhưng hơn tôi thấy vấn đề - khi tôi nhấp vào nút chương trình của tôi trên thanh tác vụ Windows - chương trình sẽ không giảm thiểu và tối đa hóa. Tôi có thể làm gì để xóa vấn đề này? Tôi sử dụng Windows 7. Xin lỗi 4 tiếng anh xấu của tôi.Qt C++ thu nhỏ và phóng to cửa sổ

Trả lời

12

Đó là tính năng của Qt :: CustomizeWindowHint.When sử dụng này cửa sổ cờ, bạn khó có thể kiểm soát window.What bạn có thể thử được thêm hai nút để cửa sổ của bạn và kết nối chúng với showMaximized()showMinimized (). Sau đó, bạn có thể tối đa hóa hoặc thu nhỏ cửa sổ bằng cách nhấp vào các nút.

+0

cảm ơn câu trả lời. Tôi tạo ra các nút (giảm thiểu và tối đa hóa) trong chương trình của tôi, tất cả đều hoạt động tốt. Nhưng tôi vẫn không thể thu nhỏ cửa sổ chương trình bằng cách nhấp vào nút thanh tác vụ. Tôi có thể xóa thanh tiêu đề khỏi cửa sổ, nhưng không loại bỏ tối thiểu chức năng? – Outsider

+0

Các cờ cửa sổ bạn sử dụng chỉ vô hiệu hóa sự kiện chuột, có nghĩa là nếu bạn clicke cửa sổ của bạn, Windows chỉ để cho nó 'đi qua' thay vì 'hit' cửa sổ. Nếu bạn muốn thử, tôi nghĩ bạn phải sử dụng Qt: : FramelessWindowHint và tái triển khai chức năng sự kiện chuột của riêng bạn. Bài viết này có thể giúp bạn: [link] http://blog.csdn.net/yiyaaixuexi/article/details/6362865 @Ramix – user957121

3

Câu trả lời này cách đây không lâu nhưng tôi đã đối mặt với cùng một thách thức ngay bây giờ và có thể tìm ra giải pháp. Có lẽ nó hữu ích cho người khác. Như đã đề xuất trước khi bạn nên chỉ định Qt::FramelessWindowHint thay vì Qt::CustomizeWindowHint. Điều này cũng ẩn tiêu đề và đường viền của cửa sổ. Để vẫn có tính năng thu nhỏ/tối đa hóa, tôi bổ sung được chỉ định Qt::WindowSystemMenuHint, Qt::WindowMinimizeButtonHintQt::WindowMaximizeButtonHint. Đó là nó!

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