【问题标题】:Resize a QWebView and a QMessagebox according to the QMainWindow's size根据 QMainWindow 的大小调整 QWebView 和 QMessagebox 的大小
【发布时间】:2016-03-30 12:51:19
【问题描述】:

我是 QT 的新手。我为 Windows 创建了一个应用程序,其中包含一个 QWebView 和一个 QMessageBox。我想根据我的QMainwindow 的大小调整这两个的大小。例如,如果主窗口的大小是300*200,那么QWebViewQMessageBox 的大小应该相同。另外,我希望能够在运行我的应用程序时调整它的大小。

谁能告诉我该怎么做?

【问题讨论】:

    标签: c++ qt webview qwidget


    【解决方案1】:

    首先,我认为您应该将您的QMessageBox 和您的QWebView 子小部件设为您的QMainWindow。你的.cpp 文件中应该有这样的内容:

    MyApp::MyApp(QWidget *parent)
        : QMainWindow(parent)
    {
        mView = new QWebView(this);
        mMessageBox = new QMessageBox(this);
        // some other code
    }
    

    带有mViewmMessageBox .h 文件的私有元素。

    对于大小,如果您不指定任何内容,您应该可以根据需要调整大小。或者如果你想尝试固定大小,只需添加这一行而不是 //some other code

    this->setFixedSize(300,200);
    

    【讨论】:

    • 我使用 design(mainwindow.ui) 添加了 QWebView 和 QMessageBox。他们的任何方法也是如此,我可以使用它来动态设置这些东西。
    • 我不明白:你在哪里使用 QMessageBox 和 QWebView?直接在您的.ui 文件中?
    • 在 QT .ui 文件中。使用拖放我创建了 webview 几何 ((0*0),(500,600)) 并使用 ui->webview->load(URL) 我正在加载 URL。现在网页已加载到 QWebView 上。但是当我重新调整正在运行的应用程序的大小时。 QwebView 大小保持不变。那么有什么方法可以在运行时重新调整 QwebView 的大小。
    • 嗯,好的,我明白了。您需要为小部件定义布局。见here :)
    • 我尝试了示例并且工作正常。我们可以使用 QT Designer 实现相同的功能吗?我尝试了很多,但仍然无法在 QT 设计器中找到解决方案。
    猜你喜欢
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多