繁体   English   中英

在Qt中可调整大小和最大化窗口

[英]Resizable and maximizable window in Qt

我有一个使用Qt打开窗口的c ++程序,但该窗口无法调整大小,并且缺少最大化按钮。
大多数代码是从教程中复制的。
请参阅:http: //zetcode.com/tutorials/qt4tutorial/firstprograms/
这正常吗? 这是我的代码:

#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();
}

在窗口小部件构造函数中使用setWindowFlags(Qt::WindowMinimizeButtonHint|Qt::WindowMaximizeButtonHint|Qt::Window)

这里查看更多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM