我在Ubuntu OS的台式机上安装了Qt5.5。
在编译程序时,我遇到了以下错误-
这是我得到的错误
../../work/mainwindow.cpp: In constructor 'MainWindow(QWidget)':
../../work/mainwindow.cpp:63:31:
error: 'qt_screen' was not declared in this scope ui->stackedWidget-
>resize(qt_screen->deviceWidth(),qt_screeb->deviceHeight());
这是我的代码的一部分
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setipUi(this);
setWindowFlags(Qt::CustomizeWindowHint);
ui->stackedWidget->resize(qt_screen->deviceWidth().qt_screen->deviceHeight());
ui->stackedWidget->setCurrentWidget(ui->stackedWidgetPageMain);
initPageMain();
touch=new Touch();
powerButton=new PowerButton();
auxButton=new AuxButton();
usbOtg=new UsbOtg();
battery=new Battery();
panel=new Panel();
lan=new Lan();
hPattern= new HPattern();
lodLog=new LodLog();
record=new Record();
led=new Led();
lightsensor=new LightSensor();
}
我想念任何东西吗?
顺便说一句,我确定我已经将Qscreen纳入其中。
我是否有可能在代码上设置错误?
最佳答案
实际上,QScreen类已从Qt4和Qt5显着改变,以至于它在Qt5中被认为是新的。
Qt4 QScreen有一个称为QScreen::instance()
的静态方法,该方法返回QScreen实例指针。回到Qt4,如果我没记错的话,该指针是从全局变量qt_screen
中获取的。
所有这些都已更改,因此只需删除所有访问qt_screen的代码并通过正确访问公共(public)API对其进行修复即可。
关于c++ - qt_screen的编译问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42409595/