【发布时间】:2019-01-28 12:27:38
【问题描述】:
我在 Ubuntu 18 上使用基于 5.9.5 的 QT Creator 4.5.2 来构建一个为运行 Stretch(交叉编译)的 Raspberry Pi 3 设计的应用程序。
我可以在 RPi3 上启动应用程序,但 MainWindow 是全屏的,没有控制按钮也没有标题栏,我似乎不知道如何更改它。我已经尝试过 .show()、.showMaximized() 和 .showFullScreen() 所有这些都会产生与没有框架或控制按钮的全屏应用程序相同的结果。
我会在这里遗漏什么?为简洁起见,以下是 main.cpp 和 mainwindow.h 文件的缩写版本:
注释掉的行是我尝试过的 .show 函数,所有这些函数似乎都产生了相同的结果。注意:代码中其他任何地方都没有对任何 .show 函数的引用。
main.cpp:
#include "mainwindow.h"
#include <QDialog>
#include <QApplication>
#include <QScreen>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QScreen *screen = QGuiApplication::primaryScreen();
QRect screenGeometry = screen->geometry();
int height = screenGeometry.height();
int width = screenGeometry.width();
MainWindow w;
w.resize(height-100, width-100);
w.setWindowFlags(Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint | Qt::WindowFullscreenButtonHint | Qt::WindowTitleHint);
//w.show();
//w.showMaximized();
w.showFullScreen();
return a.exec();
}
主窗口.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QObject>
#include <QCloseEvent>
#include <QDebug>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void closeApp();
};
#endif // MAINWINDOW_H
【问题讨论】:
-
我刚刚注意到 QT Creator 中的所有示例似乎都没有在 Raspberry PI 上生成框架窗口。这很奇怪。有人有想法吗?
标签: c++ qt-creator mainwindow