提问人:user1209216 提问时间:6/15/2020 更新时间:9/1/2023 访问量:9471
Flutter 桌面 - 从 Dart 代码更改窗口标题
Flutter desktop - change window title from Dart code
答:
1赞
user1209216
6/15/2020
#1
好的,这似乎是不可能的(还),但工作正在进行中:https://github.com/flutter/flutter/issues/30712
20赞
tomrozb
2/13/2021
#2
这是可能的,如 https://github.com/flutter/flutter/issues/30712
在添加pubspec.yaml
dependencies:
window_size:
git:
url: git://github.com/google/flutter-desktop-embedding.git
path: plugins/window_size
ref: fd519be1e8398c6b6c2062c2447bac960a71bc02
现在,在您的代码中,只需调用
import 'package:window_size/window_size.dart';
WidgetsFlutterBinding.ensureInitialized();
setWindowTitle("Custom window title");
在 Linux 上运行良好。尚未在 Windows/Mac 上测试过
附言
感谢 @Johan Ordenes Galleguillos 的失踪者WidgetsFlutterBinding.ensureInitialized();
评论
4赞
Johan Ordenes Galleguillos
4/3/2022
无法编辑答案,但请确保添加 WidgetsFlutterBinding.ensureInitialized();在 setWindowsTitle(“”) 之前。
1赞
zionpi
9/27/2022
它也适用于 Mac。
5赞
abulka
10/5/2022
我必须使用 url 才能使其工作,这就是上面引用的问题所使用的问题。另一方面,这个答案中的网址给了我无限次重试。https://github.com/google/flutter-desktop-embedding.git
pub get failed (server unavailable)
4赞
Dika Desandra Ardiansyah
7/30/2021
#3
转到 Windows > runner > main.cpp 文件夹,找到一个 “ !窗口。CreateAndShow(L“schedule_task”, 原点, 大小) ” 并更改“schedule_task”文本
评论
1赞
Grady Werner
9/23/2021
虽然这确实有效,但它删除了使用本地化功能为不同区域设置提供不同文本的功能。如果您需要该功能,最好使用 @tomrozb 的解决方案
1赞
Promlert Lovichit
12/20/2021
泰语文本显示不正确。:(
3赞
serhii_mikh
4/21/2023
#4
通过使用 windowmanager 包实现了这一点。它有很多用于 flutter 桌面开发的功能。
安装软件包后,只需将其添加到main():
void main() async {
//needed to ensure binding was initialized
WidgetsFlutterBinding.ensureInitialized();
await WindowManager.instance.ensureInitialized();
windowManager.waitUntilReadyToShow().then((_) async {
await windowManager.setTitle('Yor title goes here');
});
runApp(const MyApp());
}
对我来说,使用 Windows 和 Linux。
引用:
评论
1赞
serhii_mikh
4/21/2023
实际上,您不需要为此设置范围,但是如果您计划,例如,调整窗口大小,最好拥有它。windowManager.waitUntilReadyToShow().then((_) {}
0赞
Hasen
11/7/2023
这可行,但它也会移动窗口。知道为什么会这样或如何防止它吗?
上一个:WIX - 自动更新
评论