Qt中怎么获取comboBox中showPopup的位置
时间: 2023-04-12 15:01:41 浏览: 222
您可以使用QComboBox的mapToGlobal()方法来获取showPopup的位置。具体代码如下:
QPoint pos = ui->comboBox->mapToGlobal(ui->comboBox->pos());
pos.setY(pos.y() + ui->comboBox->height());
ui->comboBox->showPopup(pos);
这将在comboBox下方显示弹出窗口。
相关问题
Qt中怎么获取comboBox中showPopup的弹窗方向
在Qt中,可以通过设置QComboBox的view属性来控制弹窗的方向。具体来说,可以使用QComboBox::view()函数获取QComboBox的QAbstractItemView对象,然后使用QAbstractItemView::setHorizontalScrollBarPolicy()和QAbstractItemView::setVerticalScrollBarPolicy()函数来设置水平和垂直滚动条的显示策略,从而控制弹窗的方向。例如,以下代码可以将弹窗的方向设置为向下弹出:
comboBox->view()->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
comboBox->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
注意,以上代码只是示例,具体的弹窗方向还需要根据实际情况进行调整。
Qt中怎么获取comboBox中showPopup的纵坐标
可以使用QComboBox的mapToGlobal函数获取comboBox在屏幕上的坐标,再加上comboBox的高度即可得到showPopup的纵坐标。具体代码如下:
```cpp
QPoint pos = comboBox->mapToGlobal(QPoint(0, 0));
int y = pos.y() + comboBox->height();
```
其中comboBox是QComboBox对象。
阅读全文