QT / C ++使用QWidget访问QLineEdit / QTextArea函数

时间:2015-06-16 09:06:17

标签: c++ qt qwidget

我正在尝试编写一个函数,该函数从UI中获取包含一些QWidget的List。该函数应该采用每个小部件,检测其类并进行一些检查。
问题是,我真的不知道如何访问例如当我实际处理QWidget时,QLineEdit的功能。
有没有办法让这个工作?或者还有另一种完全不同的方法吗?

bool CLASS::inputValid(QList<QWidget *> widgetList) {
bool everythingValid = true;

foreach (QWidget *widget, widgetList) {
  if (QString(widget->metaObject()->className()) == "QLineEdit") {
      // check if text is empty
         if(widget->text()->length() == 0)  // I know this doesn't work this way
         everythingValid = false;
  }

  else if (QString(widget->metaObject()->className()) == "QTextEdit") {
      // check if text is empty
          if(widget->text()->length() == 0) // I know this doesn't work this way
          everythingValid = false;
  }
}

return everythingValid;

}

0 个答案:

没有答案