qt中调整弹出框的位置
生活随笔
收集整理的这篇文章主要介绍了
qt中调整弹出框的位置
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
提要
在程序中点击按钮,有时在边缘弹出的弹出框,不能全部展示在用户的面前,弹出框显示的位置会超过程序的边界,从而看不到完整的弹出框,这时可以菜取设置弹出框可以按下鼠标拖动来使其不被遮住,或者在弹出框谈除的位置处,判断使否炒过了程序的边界,若超过了程序的边界,则需要进行位置换算,调整一下显示的位置。
实现
下面以一个例子中下边和右边的边界处弹出框被遮挡,从而采用了调整显示的位置来显示弹出框,使其能正常显示在使用者面前而不被遮挡。以下是实现。
if(m_configName != nullptr){//判断窗口的位置,进行调整,使其显示不用拖动2021-5-25int x,y;if(cursor().pos().x() + m_configName->size().width() > BASE_W){x = BASE_W - m_configName->size().width();}else{x = cursor().pos().x();}if(cursor().pos().y() + m_configName->size().height() > BASE_H){y = BASE_H - m_configName->size().height();}else{y = cursor().pos().y();}m_configName->setGeometry(x,y,m_configName->size().width(),m_configName->size().height());//点击按钮出现在按钮点击处,对话框本身可以拖动 // m_configName->setGeometry(cursor().pos().x(),cursor().pos().y() - 10,m_configName->size().width(),m_configName->size().height());m_configName->show();}``` 以上是弹出框m_configName的位置调整代码,正常情况,弹出框显示在鼠标点击处,若是点击的是程序边缘的按钮,此时会调整弹出框显示的位置,使其能正常显示,不被遮挡。总结
以上是生活随笔为你收集整理的qt中调整弹出框的位置的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: qt先生成json文件后程序启动时读取j
- 下一篇: qt中使窗口的大小随窗口的内容大小进行调