c++ qt qgraphicsview中怎么设定焦点窗口
时间: 2024-02-21 14:56:56 浏览: 202
Qt 5.11 无边框可拖动 可改变大小窗口
在Qt中,可以通过设置QGraphicsView的属性来设置焦点窗口。具体步骤如下:
1.在QGraphicsView的构造函数中设置Qt::FocusPolicy属性为Qt::ClickFocus,表示当QGraphicsView被鼠标点击时,它会获取焦点。
2.在QGraphicsView的focusInEvent()函数中设置当前QGraphicsView为焦点窗口,即调用setFocus()函数。
以下是示例代码:
```c++
class MyGraphicsView : public QGraphicsView
{
public:
MyGraphicsView(QWidget *parent = nullptr) : QGraphicsView(parent)
{
setFocusPolicy(Qt::ClickFocus);
}
protected:
void focusInEvent(QFocusEvent *event) override
{
setFocus();
QGraphicsView::focusInEvent(event);
}
};
```
在使用QGraphicsView时,将其实例化为MyGraphicsView即可。
阅读全文