在使用Dialog对话框时,虽然成功弹出了对话框,但是每次都会出现以下提示信息:

setGeometry: Unable to set geometry 152x30+851+462 on QWidgetWindow/'QInputDialogClassWindow'. Resulting geometry: 219x107+851+462 (frame: 9, 38, 9, 9, custom margin: 0, 0, 0, 0, minimum size: 219x107, maximum size: 524287x107).

错误原因:

父窗口无法容纳对话框,因此需要重新对父窗体进行构造

解决方案:


  • 在创建窗体时指定父窗体,例如:QDialog dialog = new QDialog(this);
  • 为新建的窗体设置最小尺寸,例如:dialog->setMiniSize(200,200);
  • 为Dialong设置相关属性:setWindowFlags(Qt::MSWindowsFixedSizeDialogHint)

属性解释:

  • Qt::MSWindowsFixedSizeDialogHint,将窗口设置为此属性之后,窗体不能被鼠标拉伸大小