Tôi đang tạo ứng dụng Qt/C++ bằng QML cho một số phần. Dưới cửa sổ, tôi muốn sử dụng cửa sổ mờ bằng cách sử dụng ExtendFrameIntoClientArea như được thấy trong đoạn mã này từ lớp cửa sổ của tôi.QT Cửa sổ mờ và màn hình từ xa
#ifdef Q_WS_WIN
if (QSysInfo::windowsVersion() == QSysInfo::WV_VISTA ||
QSysInfo::windowsVersion() == QSysInfo::WV_WINDOWS7)
{
EnableBlurBehindWidget(this, true);
ExtendFrameIntoClientArea(this);
}
#else
Mã hoạt động độc đáo với một ngoại lệ. Nếu hệ thống cửa sổ trong suốt bị tắt nền sẽ trở thành màu đen, và như một phần của giao diện người dùng của tôi là trong suốt nó trở nên tối là tốt. Điều tương tự cũng xảy ra khi đăng nhập vào máy tính từ xa đang chạy ứng dụng, ngay cả khi hệ thống cửa sổ trong suốt được khởi tạo lại ngay lập tức nền vẫn giữ màu đen cho đến khi mã trên được thực hiện lại. Điều này được thể hiện trong hình ảnh này: Comparison of failed rendering (in background) and correct (in front).
Vấn đề là tìm một tín hiệu để kết nối để khởi tạo lại cửa sổ trong suốt hoặc tốt hơn để phát hiện khi cửa sổ được vẽ trong suốt và vẽ giao diện người dùng cho phù hợp. Bất kỳ giải pháp thay thế nào cũng được hoan nghênh.