我從我的主窗口打開一個模式窗口,我的興趣是使背景變暗,所以頂窗完全可見,但主窗口看起來像「陰影」。QT:陰影窗口效果(熄燈)
0
A
回答
2
您可以在主窗口中顯示一些半透明的小部件,它會創建陰影效果。
例如,這樣的小部件。
class Overlay : public QWidget
{
public:
Overlay(QWidget *parent) {
setPalette(Qt::transparent);
setAttribute(Qt::WA_TransparentForMouseEvents);
}
protected:
void paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setBrush(QBrush(QColor(0,0,0, 150)));
painter.setPen(Qt::NoPen);
painter.drawRect(rect());
}
};
然後創建這個小部件,調整大小和顯示:
overlay_.reset(new Overlay(this));
overlay_->resize(size());
overlay_->setVisible(true);
您可以通過改變的paintEvent刷陰影色和transperancy玩。 希望這是你想要的效果。
0
這是由窗口管理器添加這種效果。
例如,KWin和Mutter都有辦法處理對話。 KWin確實遮蔽了主窗口,我認爲Mutter也會帶來一些額外的效果。
在Mac OS中,模態窗口已經具有特殊的屬性,將其專注於它的專利窗口的關係。
窗戶處理這種方式是通過強調我認爲模態的重點。但它確實是窗口經理的工作,並且根據用戶的喜好來選擇應該激活的效果。
相關問題
- 1. WPF窗口陰影效果
- 2. 盒陰影效果
- 3. 陰影效果的影響
- 4. 陰影的窗口樣式?
- 5. 「熄燈」有效性檢查
- 6. NSString的陰影效果
- 7. 插圖陰影效果
- 8. 內陰影效果的UIView
- 9. System.TypeLoadException的陰影效果
- 10. 拉斐爾陰影效果
- 11. QML內陰影效果
- 12. jquery.com的陰影效果
- 13. UISegmentedControl的陰影效果?
- 14. 箱子陰影效果
- 15. UIBezierpath陰影效果 - iOs
- 16. WPF刪除陰影效果的影響
- 17. 盒子陰影效果不適用於幻燈片
- 18. 創建雙箱陰影效果(如兩個聚光燈)
- 19. 在Qt中使用QGraphicsRectItem的陰影效果
- 20. 帶有浮動陰影的動畫陰影效果
- 21. 如何在android中爲陰影製作陰影效果?
- 22. 我想在特定的航空窗口上禁用陰影效果
- 23. 空氣2.6無鉻窗口帶陰影
- 24. 從彈出窗口移除陰影
- 25. 把陰影放在窗口上extjs
- 26. 如何操縱窗口的陰影?
- 27. 邊界的窗口與陰影
- 28. 無邊界窗口帶陰影和blurbehind
- 29. 替代QGraphicsDropShadowEffect無框窗口的陰影
- 30. Three.js燈光和陰影
謝謝,看起來很有希望!將嘗試它。有一行我不明白:overlay_.reset(new Overlay(this));那是幹什麼的?重置方法在哪裏? –
我試過它沒有重置調用,它打開一個覆蓋,但它看起來灰色沒有alpha通道,所以原始背景窗口不可見。 –
好的,現在正在進行一些小的改動。謝謝! –