• 5425阅读
  • 3回复

[提问]新手求指导 如果找出一个QLabel在QGridLayout的位置 [复制链接]

上一主题 下一主题
离线issak
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-15

新手求指导 如果找出一个QLabel在QGridLayout的位置?


查阅资料后知道itemAtPosition(i,j)->widget() 可以从QLayoutItem得出widget
可以逆过来吗?就是从给定的QGridLayout中的一个Qlabel得出它的坐标
望前辈们指教

离线jorneyr

只看该作者 1楼 发表于: 2011-10-15
label->geometry(); // 得到label的x, y坐标,width, height
QWidget::mapToParent ( const QPoint & pos )可以把一个点的坐标映射到得在屏幕上的坐标。
离线issak
只看该作者 2楼 发表于: 2011-10-15
回 1楼(jorneyr) 的帖子
label->geometry(); 这个应该得到的是组件的x,y坐标 当时我只是想要它在QLayoutItem的位置而已就是他在第i行 第j列的 i 和 j
不过也要谢谢前辈百忙之中抽空回答我的问题 谢谢
离线jorneyr

只看该作者 3楼 发表于: 2011-10-15
QGridLayout:
void    getItemPosition ( int index, int * row, int * column, int * rowSpan, int * columnSpan )
QLayoutItem *    itemAtPosition ( int row, int column ) const
int    rowCount () const
int    columnCount () const

使用这几个函数,再遍历判断一下,就可以得到widget的x, y了
快速回复
限100 字节
 
上一个 下一个