上节继续,今天研究tauri中的多窗口,要实现多窗口有几种方式:

一、改配置tauri.conf.json

仍然以react项目模式为例,假设我们有2个页面效果:

在浏览器中运行起来长这样:

tauri中,如果想开2个窗口,分别对应于这2个页面,可以参考下图配置:

(关于windows节点下,具体有哪些属性可配置,可参考官网文档)

运行起来效果如下:

二、Rust中使用app创建窗口

use tauri::{WindowBuilder, WindowUrl};

fn main() {
tauri::Builder::default()
.setup(|app| {
WindowBuilder::new(
app,
"external",
WindowUrl::External("http://yjmyzz.cnblogs.com/".parse().unwrap()),
)
.title("菩提村下的杨过")
.inner_size(640.0, 480.0)
.position(50.0, 100.0)
.build()?;
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}

运行起来后,加上方式1中的2个窗口,总共会有3个窗口:

三、前端创建窗口

3.1 使用tauri::command

上节学习过前端可以调用Rust中的方法,同样这种方式,也可以创建窗口。先把tauri.conf.json中的配置恢复成单窗口,方式二中创建的窗口也去掉,然后加1个可供前端调用的新方法:

然后在Home组件中,调用该方法:

运行效果:

3.2 js API调用

运行效果:

四、运行时获取窗口引用

比如想用代码把前面创建的2个about窗口给关闭,就必须先获取窗口的引用,参考下面的代码:

运行效果:

参考文章:

https://tauri.app/v1/guides/features/multiwindow

tauri学习(4)-多窗口的更多相关文章

  1. 【Qt学习笔记】窗口部件整理

    关于Qt中窗口部件的学习 今天开始学习Qt的窗口部件,领略一下Qt的神奇之处,记得2012年的那年冬天,我还学Java呢,现在基本上和Java说再见了,不过对于嵌入式的开发Qt还是举足轻重的,我想趁着 ...

  2. (java)selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致

    描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示 ...

  3. OpenGL学习 (一) - 简单窗口绘制

    一.OpenGL 简介 OpenGL 本质: OpenGL(Open Graphics Library),通常可以认为是API,其包含了一系列可以操作图形.图像的函数.但深究下来,它是由Khronos ...

  4. PyQt(Python+Qt)学习随笔:窗口layout布局的SizeConstraint和部件的大小约束策略sizePolicy不起作用的问题

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在写一个测试代码时,发现无论怎么设置窗口以及子部件 ...

  5. PyQt(Python+Qt)学习随笔:窗口对象尺寸调整相关的函数resize、showMaximized、showNormal、showMinimized

    resize(width,height) resize可以直接调整窗口的尺寸,调整效果类似于鼠标直接拉伸或缩小窗口,但窗口大小的最大值.最小值受窗口的sizePolicy.sizeHint.minim ...

  6. Qt学习之自定义窗口部件

    自定义Qt窗口部件 实现一个十六进制的SpinBox,一般SpinBox只支持十进制整数,但是可以子类化方法实现该功能 需重新实现以下虚函数 virtual QString textFromValue ...

  7. 零基础Android学习笔记-03 窗口间的数据传递

    1.通过全局变量来传递. 新建一个全局的类继承于Application package com.example.helloworld; import android.app.Application; ...

  8. Unity3D GUI学习之GUI窗口的使用

    GUI还可以定义一个窗口,在窗口里面进行控件的添加: using UnityEngine; using System.Collections; public class getbutton : Mon ...

  9. WPF学习笔记-自定义窗口

    代码部分 <Style x:Key="for_noresize_window" TargetType="{x:Type Window}"> < ...

  10. Win32汇编学习(9):窗口控件

    这次我们将探讨控件,这些控件是我们程序主要的输入输出设备. 理论: WINDOWS 提供了几个预定义的窗口类以方便我们的使用.大多数时间内,我们把它们用在对话框中,所以我们一般就它们叫做子窗口控件.子 ...

随机推荐

  1. 17.1K star!两小时就能训练出专属于自己的个性化小模型,这个开源项目让AI触手可及!

    「只需一张消费级显卡,2小时完成26M参数GPT训练!」「从零构建中文大模型的最佳实践指南」「兼容OpenAI API,轻松接入各类AI应用平台」 项目介绍 MiniMind是由开发者Jingyao ...

  2. 时间工具之“Java8 LocalDate 根据给定的日期,获取该日期上一周的周一周日,以及TemporalAdjusters的API”

    一.场景 我们的周报需要获取该月的第一个周的星期一和星期日,用于计算该星期的功能业绩(如:上产品数量) 2022-04-25 00:00:00 到 2022-05-01 23:59:592022-05 ...

  3. 应用间通信(一):详解Linux进程IPC

    进程之间是独立的.隔离的,使得应用程序之间绝对不可以互相"侵犯"各自的领地. 但,应用程序之间有时是需要互相通信,相互写作,才能完成相关的功能,这就不得不由操作系统介入,实现一种通 ...

  4. C#数据结构之Tree

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. Redundant Connection——LeetCode进阶路

    原题链接https://leetcode.com/problems/redundant-connection/ 题目描述 In this problem, a tree is an undirecte ...

  6. 2025最好的Next.js面试

    2025最好的Next.js面试题(一) 最近在面试,就写一些关于问到的面试题,同时也过一下知识点. 基础概念 什么是Next.js?它与React的关系是什么? Next.js是一个基于React的 ...

  7. 我的Vue之旅(3)

    2020-10-24 程序员节快乐哈! 因为有相当一部分内容都是相互穿插的,今天也就不写那么多重复的Demo了,直接写一下对所学内容的理解吧. 插值 关于插值这一块其实也没啥说的,文本插值都是最熟悉不 ...

  8. Go交叉编译

    #在Mac上编译linux平台应用 GOOS=linux GOARCH=amd64 go build hello.go #在Windows上编译linux平台应用(关闭CGO) CGO_ENABLED ...

  9. 聊一聊 .NET在Linux下的IO多路复用select和epoll

    一:背景 1. 讲故事 在windows平台上,相信很多人都知道.NET异步机制是借助了Windows自带的 IO完成端口 实现的异步交互,那在 Linux 下.NET 又是怎么玩的呢?主要还是传统的 ...

  10. SAP在中国,已经做成了垃圾了。。。

    1.自从SAP眼红互联网之后,SAP在UI的路上一骑绝尘,一路过关斩将,离阎罗殿越来越近... 2.中国国情,用户凌驾系统之上. 作为二次开发的系统,对用户的一些定制化开发本来是一大特色和卖点.但是经 ...