通过
ui->printAgeingTableView->setIndexWidget(standardItemModel->index(i, 5), interval);
添加控件后,获取内容。
获取内容方式:将控件还原,然后再去拿取,不能当做QStandardItem进行 *** 作,否则无法拿到内容。
((QLabel )ui->printAgeingTableView->indexWidget(model->index(var,1)))->text();
这里原本控件是QLabel,还原后再拿取。
pos()函数就能解决问题,能够返回坐标点QPoint
如果有父窗口的话,你先试试mapToParent(),返回在父窗口中的坐标,然后再
mapToGlobal(),你试试,我现在没空弄这个,如果还不行的话,我再想想
The method selectionModel() return a QItemSelectionModel
You can use QItemSelectionModel class to check/change/other selection(s)
Example:
QItemSelectionModel select = yourTableview->selectionModel();
select->hasSelection() //check if has selection
select->selectedRows() // return selected row(s)
select->selectedColumns() // return selected column(s)
Example:
QModelIndexList indexList = yourTableView->selectionModel()->selectedIndexes();
int row;
foreach (QModelIndex index, indexList) {
row = indexrow();
}
如果是 QLineEdit,则用: QString str = ui->edit->text();
如果是 QPlainTextEdit,则用: QString str = ui->edit->toPlainText();
如果是 QTextEdit, 获取简单文本则用: QString str = ui->edit->toPlainText(); 获取富文本则用:QString str = ui->edit->toHtml(); 。
不建议通过这种方式,这样会破坏类的封装性!建议在主窗口中定义接口函数,在接口函数中可以访问主窗口的任何控件。然后在子窗口中parentWidget()取得主窗口的指针,使用该指针调用主窗口的接口函数,从而访问主窗口的控件。
Qt中获取控件的margin方法如下所示:
先通过getChildAt(intindex)获取到子控件,再通过lp=getLayoutParams()获取到子控件的参数,lpleftMargin就是你想要的数值。
以上就是关于如何获取qt动态生成控件的数据全部的内容,包括:如何获取qt动态生成控件的数据、Qt中如何获取一个子窗口相对于屏幕的绝对坐标、QT中如何获取QTableView当前行的坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)