首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在tornadofx中添加MDI父对象

在TornadoFX中添加MDI(Multiple Document Interface)父对象可以通过以下步骤完成:

  1. 导入所需的库和类:
代码语言:txt
复制
import tornadofx.*
import tornadofx.Stylesheet.Companion.mdiContainer
import tornadofx.Stylesheet.Companion.mdiWindow
  1. 创建一个MDI父容器对象:
代码语言:txt
复制
class MyMDIView : View() {
    override val root = mdiContainer {
        // 添加子窗口
        add(MyChildView::class)
    }
}
  1. 创建一个子窗口对象:
代码语言:txt
复制
class MyChildView : View() {
    override val root = mdiWindow("子窗口") {
        // 子窗口的内容
        label("这是一个子窗口")
    }
}
  1. 在主应用程序中启动MDI父容器:
代码语言:txt
复制
class MyApp : App(MyMDIView::class)

fun main(args: Array<String>) {
    launch<MyApp>(args)
}

这样,当你运行应用程序时,将会显示一个包含子窗口的MDI父容器。你可以根据需要添加更多的子窗口。

MDI父对象的优势是可以同时显示多个子窗口,并且可以方便地管理和切换这些子窗口。它适用于需要在一个窗口中同时展示多个相关文档或任务的应用场景。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体的产品选择应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 经典的计算机视觉项目–如何在视频对象后面添加图像

    总览 在移动物体后面添加图像是经典的计算机视觉项目 了解如何使用传统的计算机视觉技术在视频添加logo 介绍 一位同事带来了一个挑战-建立一个计算机视觉模型,该模型可以在视频插入任何图像而不会扭曲移动的对象...将在稍后详细说明的挑战是,以不妨碍任何给定视频对象的动态特性的方式插入logo。使用Python和OpenCV构建了此计算机视觉系统-并在本文中分享了方法。...目录 了解问题陈述 获取该项目的数据 为计算机视觉项目设定蓝图 在Python实现该技术-添加logo! 了解问题陈述 这将是计算机视觉中非常罕见的用例。将在视频嵌入logo。...因此,必须弄清楚如何将logo添加到背景的某个位置,以使其不会阻碍视频中正在进行的主要操作。...这是将用于在视频跳舞的家伙后面嵌入OpenCVlogo的技术。开始做吧! 在Python实现该技术-添加logo! 可以使用Jupyter Notebook或您选择的任何IDE,然后继续进行。

    2.9K10

    C#学习笔记—— 常用控件说明及其属性、事件

    数组的每个元素表示以此窗体作为级的多文档界面(MDI)子窗体。 (27)MdiParent属性:用来获取或设置此窗体的当前多文档界面(MDI窗体。...的 参数RichTextBoxFinds指定如何在控件执行文本搜索,其取值及其含义如表9-4 所示。...25、MDI 应用程序设计 1.MDI应用程序的概念 在前面的章节,所创建的都是单文档界面(SDI)应用程序。这样的程序(记事本和画图程序)仅支持一次打开一个窗口或文档。...而使用多文档界面(MDI)程序(Word和AdobePhotoshop)时,用户可以同时编辑多个文档。MDI程序的应用程序窗口称为窗口,应用程序内部的窗口称为子窗口。...与MDI应用程序设计有关的方法,一般只使用窗体的LayoutMdi方法,该方法的调用格式如下: MDI窗体名.LayoutMdi(Value); 该方法用来在MDI窗体中排列MDI子窗体,以便导航和操作

    9.7K20

    python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例

    ,工具栏等,这需要占用很多资源 MDI(Multiple Document Interface 多文档界面)应用程序占用较少的内存资源,子窗口可以放在主窗口的容器,这个容器控件被称为QMidArea...QMidArea控件通常占据在QMainWindow对象的中央位置,子窗口在这个区域是QMdiSubWindow类的实例,可以设置任何QWidget作为子窗口对象的内部控件,子窗口在MDI区域进行级联排列布局...QMidArea类和QMdiSubWindow类的常用方法 方法 描述 addSubWindow() 将一个小控件添加MDI区域作为一个新的子窗口 removeSubWindow() 删除一个子窗口的小控件...代码分析 在这个例子,主窗口QMainWindow拥有一个菜单控件和 MidArea控件 #实例化菜单栏 bar=self.menuBar() #添加主菜单 file=...Mdi,每个Mdi都有标题,在主窗口内部增加Mdi的数量 #子窗口增加一个 MainWindow.count=MainWindow.count+1 #实例化多文档界面对象

    3.7K21

    写字板(Windows程序设计)

    我们老师为了给我们看要求效果给了我们一个半成品exe,cv工程师上线了,真为所欲为) 问题描述 验证简易相册程序的实现(不需要写入报告) 设计一个类似Windows写字板的程序,使其具有以下功能: 提供基本的写字板功能,文件的打开...,保存,支持txt、rtf; 实现多格式的文本的编辑、修饰等,均有相应的菜单来控制,常用的菜单项配备相应的工具栏按钮(可参照Windows自带的写字板) 按需添加其他的代码,窗口的布局等; 实现自定义的查找对话框...,有能力的同学可进一步实现替换/全文替换等功能 状态栏显示学生学号、姓名等信息,在窗口的标题中显示当前正在编辑的文件名 (可选)其他你觉得实用的功能:支持word等 (可选)将其改造成MDI程序:窗口中包含新建...{ richTextBox1.Clear(); saveName = ""; } 写字板操作设置 其他一系列doc加粗,倾斜,下划线,左右对齐...的使用,是为了让一个窗体拥有许多个子窗体,进行更加简单有效的操作 在窗体new子窗体就行,记得一系列基本操作,你也可以通过生成函数和属性进行快速高效设置 private void 新建ToolStripMenuItem_Click

    1.1K10

    MDI Jade是什么软件?MDI Jade 6.5软件安装包下载及安装教程

    菜单栏包括了各种各样的命令,比如打开、保存和导出等。工具栏包括了各种各样的工具,比如晶体结构绘制、晶体结构可视化和晶体结构比较等。数据区包括了当前文档的所有数据,你可以通过它来管理和处理数据。...图形区包括了当前文档的所有图形,你可以通过它来查看和分析图形数据。除了这些基本操作,MDI Jade还提供了丰富的高级功能,比如晶体结构优化、晶体结构拟合和精细结构分析等。...:打开MDI Jade软件,点击菜单栏的“File”选项,选择“New”创建一个新的文档。...在晶体结构编辑器,选择“Atom”工具,点击画布上的位置添加原子,可以通过“Element”选项选择对应的元素。添加完所有原子后,可以选择“Bond”工具,连接原子之间的化学键。...在晶体结构编辑器,还可以进行晶格参数的设置,晶格常数、晶胞角度等。绘制完成后,可以选择“File”选项,选择“Save As”保存晶体结构文件。以上就是使用MDI Jade绘制晶体结构的基本步骤。

    95320

    MDI Jade是什么软件?MDI Jade 6.5软件安装包下载及安装教程

    菜单栏包括了各种各样的命令,比如打开、保存和导出等。工具栏包括了各种各样的工具,比如晶体结构绘制、晶体结构可视化和晶体结构比较等。数据区包括了当前文档的所有数据,你可以通过它来管理和处理数据。...图形区包括了当前文档的所有图形,你可以通过它来查看和分析图形数据。除了这些基本操作,MDI Jade还提供了丰富的高级功能,比如晶体结构优化、晶体结构拟合和精细结构分析等。...:打开MDI Jade软件,点击菜单栏的“File”选项,选择“New”创建一个新的文档。...在晶体结构编辑器,选择“Atom”工具,点击画布上的位置添加原子,可以通过“Element”选项选择对应的元素。添加完所有原子后,可以选择“Bond”工具,连接原子之间的化学键。...在晶体结构编辑器,还可以进行晶格参数的设置,晶格常数、晶胞角度等。绘制完成后,可以选择“File”选项,选择“Save As”保存晶体结构文件。以上就是使用MDI Jade绘制晶体结构的基本步骤。

    82830

    CC++ Qt MdiArea 多窗体组件应用

    MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在窗体内嵌多种子窗体的功能,使用MDI组件需要在UI界面增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...MDI窗体控件类似于画布,该控件只具备展示窗体的功能,无法实现生成窗体,所以我们需要在项目中手动增加自定义的Dialog对话框,并对该对话框进行一定的定制。...lysharkvoid Dialog::SetData(QString data){ ui->lineEdit->setText(data);}接着我们开始绘制这个程序的主界面,在toolBar增加相应的菜单栏...图片窗体的顶部菜单栏,我们需要手动定义一下他们所具备的功能名称等。...on_actionOpen_triggered(){ Dialog *formDoc = new Dialog(this); // ui->mdiArea->addSubWindow(formDoc); //文档窗口添加

    1.1K40

    CC++ Qt MdiArea 多窗体组件应用

    MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在窗体内嵌多种子窗体的功能,使用MDI组件需要在UI界面增加mdiArea控件容器,我们所有的窗体创建与操作都在这个容器内进行...MDI窗体控件类似于画布,该控件只具备展示窗体的功能,无法实现生成窗体,所以我们需要在项目中手动增加自定义的Dialog对话框,并对该对话框进行一定的定制。...lyshark void Dialog::SetData(QString data) { ui->lineEdit->setText(data); } 接着我们开始绘制这个程序的主界面,在toolBar增加相应的菜单栏...窗体的顶部菜单栏,我们需要手动定义一下他们所具备的功能名称等。...on_actionOpen_triggered() { Dialog *formDoc = new Dialog(this); // ui->mdiArea->addSubWindow(formDoc); //文档窗口添加

    1K20

    C++ Qt开发:MdiArea多窗体组件

    该组件主要用于设计多文档界面应用程序,具备有多种窗体展示风格,实现了在窗体内嵌多种子窗体的功能,使开发者能够轻松地创建支持多个文档的应用程序。...addSubWindow(QWidget *widget, Qt::WindowFlags flags = Qt::WindowFlags()) 将指定的QWidget添加为QMdiArea的子窗口。...读者在使用MDI组件时,需要在UI界面增加mdiArea控件容器,之后所有窗体创建与操作都要在容器内进行,其次由于MDI窗体组件仅仅是一个画布只具备限制窗口的作用,无法实现生成窗体,所以需要在项目中手动增加自定义...析构函数: 析构函数执行了 delete ui;,确保在对象销毁时释放与ui相关的资源,避免内存泄漏。 这段代码片段展示了一个使用QMdiArea创建多文档界面的主窗口类的基本结构和初始化设置。...::on_actionOpen_triggered() { // 创建Dialog窗体 Dialog *formDoc = new Dialog(this); // 文档窗口添加

    1.3K10

    材料科学研究 MDI Jade 软件安装包下载,MDI Jade软件安装激活

    MDI Jade的数据分析器支持数据的各种操作,平滑、去背景等,用户可以通过简单的鼠标操作来完成这些操作。举例说明:假设我们需要在MDI Jade软件查看一个射线衍射数据。...峰拟合 MDI Jade软件支持峰拟合工具,用户可以在软件快速对射线衍射数据进行峰拟合,以确定样品晶格结构的信息。...晶体结构解析 MDI Jade软件支持晶体结构解析工具,用户可以在软件对射线衍射数据进行晶体结构解析,以确定样品的晶格信息和结构组成。...我们可以使用MDI Jade软件进行晶体结构解析,具体流程如下:首先,在MDI Jade软件添加预测的晶格信息和其他有关的实验条件。...MDI Jade的晶体结构可视化工具可以帮助用户更直观地理解晶体结构信息和样品组成。举例说明:假设我们需要在MDI Jade软件对样品的晶体结构进行可视化。

    55510

    怎么添加窗口小工具_vc可视化编程

    本文以MDI应用程序为例说明如何在已有的VC++工程中使用BCG界面库,我的开发环境为VS2003( 在VC6.0下同样适用)。   ...1,将BCG/BCGCBPro目录路径添加到“项目属性->C/C++ ->常规 ->附加包含目录”,同时将BCG/Bin目录路径添加到“项目属性->链接器 ->常规 ->附加库目录”(如果先安装VC...2,确保在CWinApp派生类(设为CMyApp)的InitInstance()成员函数调用AfxOleInit();   3,在ExitInstance()函数添加:   CleanState()...DockControlBar (&m_wndMenuBar);   说明:你可以在你的应用程序中使用多个CBCGPToolBar,它们对应的位图将会自动地合并在一张位图上,然而,你只可以使用一个CBCGPMenuBar对象...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    57240

    使用C#开发数据库应用程序

    b.什么是MDI 比如:在Microsoft Excel,我们可以同时打开多个Excel文档,而不需要新开一个Excel窗口,这种应用程序我们称为MDI(多文档界面); c.如何创建MDI (1...)创建MDI【设置窗体:将窗体的IsMDIContainer属性设为true。...new AddStudentForm(); addStudentForm.MdiParent=this; addStudentForm.Show();//显示创建学员用户窗体 } (2)为窗体添加子窗体列表...【在窗体添加一个菜单Name(tsmiWindows),添加一个"窗口"菜单项,将菜单控件的MdiWindowListItem属性设为"窗口"菜单项(tsmiWindows)】 5-3:使用WinForms...执行不返还行的语句,update等 ExecuteReader 执行查询命令,返回DataReader对象 ExecuteScalar 返回单个值,执行count(*) 使用Command对象

    5.9K30

    1-3 Winform 的常用控件(

    1-3 Winform 的常用控件 u 本节学习目标: n System.Windows.Forms.Control基本结构 n 使用基本控件标签、文本、按钮、列表框和组合框 n 掌握窗体的常用属性和方法...这包括对话框,无模式窗口和多文档界面 (MDI) 客户端窗口及窗口,同时也可以通过从UserControl类派生而创建自己的控件。...图1-8 员工信息录入窗体目标界面 u 实验步骤(1): 由图1-9所示,从工具箱之中拖拽具体的控件到Form窗体上,并更改标签对象和按钮的text属性为图1-8所标内容。...图1-9 工具箱拖拽控件对象 u 实验步骤(2): 由图1-10所示,分别配置列表框和组合框的Items属性,在展开的字符串集合编辑器内输入图1-10所示的具体文本信息。 ?...“添加”、“取消”和“关闭”按钮的鼠标单击事件详细代码加下: 小实验:添加功能源代码: private void button1_Click(object sender, EventArgs e)

    2.8K10

    c++获取子类窗口句柄位置_C++各种获取窗口句柄的方法「建议收藏」

    AfxGetMainWnd AfxGetMainWnd获取自身窗口句柄 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函数功能:该函数检查与特定窗口相联的子窗口...函数原型:HWND GetTopWindow(HWND hWnd); 参数: hWnd:被查序的窗口的句柄。如果该参数为NULL,函数返回Z序顶部的窗口句柄。...GetSafeHwnd 函数功能:获取某个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。...这个原子(一个16bit的值),必须被放置在lpClassName的低位字节,lpClassName的高位字节置零。...AfxGetMainWnd ( ) -> SetWindowText (_T(“Application title”) ) //Set title for View’s MDI child frame

    2.4K30

    OpenTracing入门与 Jaeger的实现

    OpenTracing 通过提供平台无关、厂商无关的 API,使得开发人员能够方便的添加(或更换)追踪系统的实现。...例如,在一个常规的RPC调用过程,OpenTracing推荐在RPC的客户端和服务端,至少各有一个span,用于记录RPC调用的客户端和服务端信息 一个级的span会显示的并行或者串行启动多个子span...在OpenTracing标准,甚至允许一个子span有个多span(例如:并行写入的缓存,可能通过一次刷新操作写入动作)。 在一个分布式系统,追踪一个事务或者调用流一般如上图所示。...elasticsearch.logging.svc.cluster.local:9200 agent: | collector: host-port: "jaeger-collector:14267" 然后我们通过list对象在...130m NAME DATA AGE configmap/jaeger-configuration 4 146m 如何在外部访问

    57820
    领券