我正在使用 qt 编写一个 linux(这里:Ubuntu)应用程序。我将主窗口设置在顶部并全屏,然后制作其他子窗口。问题是一旦单击主窗口,这些窗口就会在主窗口后面。有什么办法可以避免这种情况并将子窗口保持在主窗口的顶部?预先感谢
问问题
604 次
1 回答
0
我试图用一个非常简单的设置来重现你的问题,但我失败了,因为我写的似乎完全符合你所描述的行为:全屏打开窗口,然后在我的示例中只有一个按钮主窗口,单击它时会生成一个子窗口,但对我来说,即使将焦点放在父窗口上,这个窗口也始终位于父窗口之上。你能检查一下这是否也有你想要的行为吗?
主窗口.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "ui_MainWindow.h"
class MainWindow : public QMainWindow, public Ui::MainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
private:
Ui::MainWindow *ui;
public slots:
void on_pushButton_clicked();
};
#endif // MAINWINDOW_H
主窗口.cpp
#include "MainWindow.h"
#include <QDialog>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
setupUi(this);
}
void MainWindow::on_pushButton_clicked()
{
QDialog *dialog = new QDialog(this);
dialog->show();
}
主文件
#include "MainWindow.h"
#include <QApplication>
int main(int argc, char **argv)
{
QApplication a(argc, argv);
MainWindow w;
w.showFullScreen();
return a.exec();
}
于 2015-04-11T18:44:22.337 回答