有没有检查特定Qdialog的可见性?我试着检查一下。这是我的代码:
MessageDialog::MessageDialog(QWidget *parent, int Id, QString Name, QPixmap *Photo)
: QDialog(parent),
m_Id(Id),
m_Name(Name)
{
// ...
if (MessageDialog.isVisible())
qDebug()<<"visbile";
else
qDebug()<<"invisible";
}
我收到了一个错误:
错误:在'。'之前预期的primary-expression令牌if(MessageDialog.isVisible())
答案 0 :(得分:3)
问题是您正试图在MessageDialog
课程上调用非静态函数。您应该在对话框对象上调用isVisible()
函数,在这种情况下,您应该使用this
或只调用isVisible()
。
if ( this->isVisible() ) // if ( isVisible() )
qDebug()<<"visbile";
else
qDebug()<<"invisible";
但我认为它也不会好,因为在构造函数中,对话框尚不可见。
答案 1 :(得分:1)
尝试删除
MessageDialog.
即。只留下
isVisible();