qt初学者:布局、坐标转换、位置管理

研究了一下布局

首先把控件水平 布局 或者垂直布局,用工具栏的条子分 。  各个控件比例可以看 layout属性中的layoutStretch来控制比例。

最后最后,最重要的,右击空白画布选择总体布局(垂直,水平,栅格,自己选),自己思考,总归有符合的总体布局,其中可以通过留空白器和分裂器微调,这样可以满足所有的布局需求了,而且可以实现任何窗口自适应变化,其中可能要调一下控件属性中的expanding。

将子窗口的坐标表示为大窗口坐标方法:

QPoint a = ui.bottom->mapTo(ui.bottom->parentWidget(), ui.gray_btn->pos());

其中  ui.bottom是需要转换的子窗口       ui.bottom->parentWidget()是得到父窗口         ui.gray_btn->pos()是子窗口的坐标值,也可以用QPoint来表示  

 //可以获取当前桌面的位置

  QDesktopWidget* desktop = QApplication::desktop(); // =qApp->desktop();
  move((desktop->width() - this->width())/2 , (desktop->height() - this->height())/2 -100); 

2019.3.26日

    QPoint a = ui.label_8->mapToGlobal(ui.label_8->pos()); //这句话转换全局坐标是没有任何问题的

今天的问题是 提升后的控件用上面函数 得到的值可能不正确 这时可以在提升的widget套一个一样大小的widget这样就可以获取正确的坐标数值了

猜你喜欢

转载自blog.csdn.net/qq_36533978/article/details/81205402
今日推荐