【问题标题】:add widgets to qt-creator designer将小部件添加到 qt-creator 设计器
【发布时间】:2014-11-29 03:30:01
【问题描述】:

我是使用 Qt 的新手,我在网上阅读的许多教程都展示了如何开发简单的 Web 浏览器。我使用 Qt Creator 作为 IDE。

我面临的问题是,在 Qt Creator 的设计器中,没有 WebView 或任何其他 Web 小部件可供我拖放。早些时候,当我键入 QT += webkit 或分别在其中包含 QtWebKit 库时,甚至 .pro 文件和 .cpp 文件都会出错。但后来我跑了

sudo apt-get install libqt5webkit5-dev

在终端上,.pro 和 .cpp 停止给出这些错误。但是我还是不知道怎么给设计器添加小部件。

我的 Qt Creator 版本是3.1.1,Qt 版本是5.2.1

【问题讨论】:

    标签: qt widget qt-creator qtwebkit qt-designer


    【解决方案1】:

    你必须删除你的 qt & qt-creator 然后重新安装它, 如果此问题没有解决,请从 Qt 站点下载离线 QT:

    (32位)(http://download.qt-project.org/official_releases/qt/5.3/5.3.2/qt-opensource-linux-x86-5.3.2.run) (64位)(http://download.qt-project.org/official_releases/qt/5.3/5.3.2/qt-opensource-linux-x64-5.3.2.run)

    并从比命令行版本更完整的离线版本安装。 我遇到了这个问题,我不得不完全重新安装它。

    【讨论】:

      【解决方案2】:

      我在 Linux Mint 上工作时遇到同样的问题:在 qt 创建器中,没有 webview 或任何其他 web 小部件可以拖放。 我解决了编辑 UI 文件(一个简单的 xml)的问题:

      <widget class="QWebView" name="myWebView">
         <property name="geometry">
          <rect>
           <x>10</x>
           <y>10</y>
           <width>381</width>
           <height>181</height>
          </rect>
         </property>
         <property name="url">
          <url>
           <string>about:blank</string>
          </url>
         </property>
        </widget>
      

      保存 ui 文件并使用 Qt Creator 打开它:您现在可以查看和修改小部件。

      【讨论】:

        【解决方案3】:

        首先要做的事情(对于任何阅读这个旧版本的人?):虽然它在您发布时尚未发布,但他们有一个带有 Qt 5.5 的新 Web 引擎。 Opera 基于 Webkit。无论出于何种原因,Qt 人员现在都推荐使用基于 Chromium(Chrome 的隐私增强版本)的 Qt WebEngine。许多人期望它在大多数情况下会更快。

        这里有在 Qt Designer 中向调色板添加小部件的指南:

        http://doc.qt.io/qt-5/designer-creating-custom-widgets.html

        这是一个旨在在 Qt Designer 中使用它的示例,但应该有有用的信息。如果您想在 Qt Creator 中使用非常相似的表单设计器,这里有一些线程具有特定于 Qt Creator 的说明:

        https://forum.qt.io/topic/6100/how-do-i-add-a-custom-widget-to-qt-creator

        https://forum.qt.io/topic/37558/unable-to-figure-out-how-to-add-custom-widget-in-qt-creator/2

        【讨论】:

        • 不建议有很多外部链接,这可能会在一段时间后停止工作,如果可能,请考虑在您的答案中添加这些步骤。
        【解决方案4】:

        这对我有用:

        MainWindow::MainWindow(QWidget *parent) :
            QMainWindow(parent),
            ui(new Ui::MainWindow){
        ui->setupUi(this);
        mWebView = new QWebView;
        QString url = "http://***yoursite****";
        mWebView->load(url);
        setCentralWidget(mWebView);} 
        

        【讨论】:

          猜你喜欢
          • 2014-06-10
          • 2010-11-25
          • 1970-01-01
          • 1970-01-01
          • 2016-07-10
          • 1970-01-01
          • 2016-01-24
          • 2018-05-02
          相关资源
          最近更新 更多