【问题标题】:Creating tabbed document interfaces in Qt Designer?在 Qt Designer 中创建选项卡式文档界面?
【发布时间】:2013-09-23 04:49:41
【问题描述】:

我正在尝试编写一个程序,该程序将使用在 Notepad++ 或大多数 Web 浏览器中看到的选项卡式文档界面 (TDI)。我知道如何使用 Qt Designer 构建 GUI,以及使用 Qt C++ 编写代码(玩了几天之后)。

我已经使用 Designer 创建了每个页面小部件的外观示例,现在我想添加在运行时创建和测试选项卡的功能,每个选项卡都包含页面小部件的唯一实例。但是,如果不添加扩展 QWidget 的类并使用代码构建页面小部件,我不知道如何做到这一点。我可以走这条路,但我确信一定有更好的方法来创建 TDI;但我找不到任何有关如何执行此操作的教程或示例。

有人有什么建议吗?

【问题讨论】:

    标签: c++ qt user-interface qt-designer


    【解决方案1】:

    要创建标签界面,您应该查看QTabWidget

    它是 Qt Designer 中包含的一个容器小部件,可自动处理选项卡上的操作。它有多种内置方法来操作其选项卡及其内容。

    QTabWidget 的每一页都是单独处理的,可以有不同的布局和功能。

    如果您想在一个页面中包含多个不同的对象,请为其分配一个布局,然后将这些对象分配给该布局。

    【讨论】:

    • 感谢您的回答!我不认为我说清楚了:我已经在使用 QTabWidget,但我不知道在运行时创建选项卡,每个选项卡都有同一组小部件的不同实例。目前,我的程序如下所示:link,其中突出显示的区域是一个 QWidget,其中包含应该在创建的所有选项卡上的所有内容。
    • @user2652805 “创建标签作为运行时”是什么意思?单击某个按钮时是否应该添加新选项卡?启动程序时是否应该已经存在一些选项卡?我不明白那一点。编辑:从你发布的图片来看,新标签应该是在某种事件或信号上创建的,不是吗?
    • 是的,我正在制作的程序是一个 IRC 客户端,其中每个选项卡都是一个单独的频道。对不起,我真的不擅长解释事情:(
    • 在这种情况下,您需要创建一个新选项卡,然后创建一个方法,例如 populateLayout(),它将用小部件填充所需的布局,然后将此布局添加到 QTabWidget 的新页面.扩展 QWidget 类真的会更容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2012-04-26
    相关资源
    最近更新 更多