当我的qt程序出现错误时。看看代码,我把错误与相应的行放在一起。我在Windows 10上使用Qt创建器来制作/运行此程序。
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QMainWindow::showFullScreen();
QPixmap p("C:/Users/*****/Pictures/Start_Orb.png");
ui->label->setPixmap(p);
ui->label->setFixedSize(400, 400);
ui->label->show();
}
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if(MainWindow.isFullScreen() && event->key() == Qt::Key_Escape){//syntax error '.' and syntax error: missing ';' before '{'
MainWindow.close();//syntax error '.' and syntax error: missing ';' before '.'
}
}
MainWindow::~MainWindow()
{
delete ui;
}
我
答案 0 :(得分:3)
MainWindow.isFullScreen()
是一个无效的表达式,因为MainWindow
是一个类型,而不是一个对象。
如果isFullScreen
是对象的static
方法,则可以使用MainWindow::isFullScreen()
。否则,您可以使用this->isFullScreen()
。
MainWindow.close()
必须进行类似的修改。
答案 1 :(得分:1)
请尝试以下替换代码:
void MainWindow::keyPressEvent(QKeyEvent *event)
{
if(this->isFullScreen() && event->key() == Qt::Key_Escape){
this->close();
}
}