0
我有一个使用Qt打开窗口的C++程序,但窗口不能调整大小,并且最大化按钮丢失。
大部分代码是从教程中复制的。
参见:http://zetcode.com/tutorials/qt4tutorial/firstprograms/
这是正常的吗?这里是我的代码:Qt中可调整大小和最大化窗口
#include <QApplication>
#include <QDesktopWidget>
#include <QWidget>
#include <QIcon>
#include <QPushButton>
#include <QTextEdit>
using namespace std;
class Frame : public QWidget {
public: Frame(QWidget *parent = 0);
};
void center(QWidget *widget, int w, int h) {
int x, y;
int screenWidth;
int screenHeight;
QDesktopWidget *desktop = QApplication::desktop();
screenWidth = desktop->width();
screenHeight = desktop->height();
x = (screenWidth - w)/2;
y = (screenHeight - h)/2;
widget->move(x, y);
}
Frame::Frame(QWidget *parent) : QWidget(parent) {
int WIDTH = 250;
int HEIGHT = 150;
setFixedSize(WIDTH, HEIGHT);
QTextEdit *edit = new QTextEdit(this);
edit -> setGeometry(5, 5, 200, 150);
QPushButton *quit = new QPushButton("Quit", this);
quit->setGeometry(50, 40, 75, 30);
center(this, WIDTH, HEIGHT);
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
Frame window;
window.setWindowTitle("My window");
window.setWindowIcon(QIcon("image.jpg"));
window.show();
return app.exec();
}
没关系我已经想通了:并调整其大小替换setFixedSize –
setFixedSize让小部件让你设置的大小。所以它不会调整大小,所以Qt会自动删除按钮 –