批量操作QT UI中的控件

背景:在一个项目中,可能一个UI中存在大量相同的tablewidget,combobox,label等控件,每种可能有100个,此时想对它们进行同样的操作

方案:(以tablewidget为例,UI中有名称为tablewidget_1到tablewidget_10的10个tablewidget)

  1. 自然想到的是一个一个的操作,对它们的属性进行修改、设置,虽然可以实现,但是工作量太大
  2. QList<QTableWidget *> tablewidgetlist = this->findChildren<QTableWidget*>(); //可以得到页面内所有的tablewidget,但没有按顺序存储在tablewidgetlist中,因此想要按顺序控制有些难度
  3. QList<QTableWidget *> tablewidgetlist = tablewidgetlist<<ui.tableWidget_1<<ui.tableWidget_2<<ui.tableWidget_3<<ui.tableWidget_4<<ui.tableWidget_5<<ui.tableWidget_6                                                                   <<ui.tableWidget_7<<ui.tableWidget_8<<ui.tableWidget_9<<ui.tableWidget_10; 使用时只须用tablewidgetlist.at(i)就可以实现调用,如果要修改可tablewidgetlist[i]

 

posted @ 2015-09-07 17:45  知奇所以然  阅读(2831)  评论(0编辑  收藏  举报