我从初学者开始学习C ++和Qt。阅读其中的一些内容(约10%)后,我编写了一个代码,该代码仅在笔记本电脑屏幕上创建了我的第一个简单小部件。在使用setGeometry(0,0,50,50)的理论中,我可以在屏幕左上方看到小尺寸的小部件。但是,当我运行代码时,大尺寸的小部件会从屏幕中间出来。什么是麻木。如何更正我的代码以在屏幕的左上方看到小尺寸的小部件?

这是我的C ++代码:

#include <QApplication>
#include <QWidget>

class MyWidget : public QWidget{
  QWidget w;
public:
  MyWidget();
};

MyWidget::MyWidget(){
  w.setGeometry(0, 0, 50, 50);
};

int main(int argc, char *argv[]){
  QApplication app(argc, argv);
  MyWidget mw;
  mw.show();
  return app.exec();
}

最佳答案

您可以在QWidget w;类中创建不需要的新MyWidget。删除它,并将您的构造函数代码更改为:

MyWidget::MyWidget(){
  setGeometry(0, 0, 50, 50); // calls function on *this*
};


在原始代码中,没有将setGeometry应用于正确的MyWidget对象,而是未将w的实例MyWidget应用于该对象。

关于c++ - 如何更正我的代码以在屏幕的左上方看到小尺寸的小部件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42941447/

10-12 20:35