Windows窗口实例
代码实例
import 'package:bitsdojo_window/bitsdojo_window.dart';
void main() {
runApp(const MyApp());
// 在下面添加此代码
//当窗口准备好时做
doWhenWindowReady(() {
appWindow.title = '这是标题';
final initialSize = Size(600, 450); //定义尺寸
// appWindow.maxSize = initialSize; //最大尺寸
appWindow.minSize = initialSize; //最小尺寸
appWindow.size = initialSize; //尺寸(当前显示尺寸)
appWindow.alignment = Alignment.center; //窗口显示位置
appWindow.show(); //显示窗口
// appWindow.close(); //关闭窗口
appWindow.startDragging(); //开始拖动
appWindow.restore(); //恢复
// appWindow.maximizeOrRestore(); //最大化或还原
// appWindow.maximize(); //最大化
// appWindow.minimize(); //最小化
// appWindow.hide(); //隐藏
var awindows = appWindow.titleBarButtonSize; //标题按钮大小
var bwindows = appWindow.titleBarHeight; //标题栏高度
var cwindows = appWindow.borderSize; //边框尺寸
var dwindows = appWindow.isMaximized; //最大化
var ewindows = appWindow.isVisible; //是否可见
var fwindows = appWindow.position; //位置
var gwindows = appWindow.handle; //处理
var hwindows = appWindow.rect; //矩形
print(
'标题按钮大小:$awindows,标题栏高度:$bwindows,边框尺寸:$cwindows,最大化:$dwindows.可见:$ewindows,位置:$fwindows,处理:$gwindows,矩形:$hwindows');
});
}
对于 Windows 应用程序
在您的应用程序文件夹中,转到windows\runner\main.cpp
并在文件开头添加这两行:
#include <bitsdojo_window_windows/bitsdojo_window_plugin.h>
auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP);
对于 macOS 应用程序
在您的应用程序文件夹中,转到macos\runner\MainFlutterWindow.swift
并在以下内容之后添加这一行import FlutterMacOS
:
import FlutterMacOS
import bitsdojo_window_macos // Add this line
然后将这一行从:
class MainFlutterWindow: NSWindow {
对此:
class MainFlutterWindow: BitsdojoWindow {
更改NSWindow
为BitsdojoWindow
在您更改的行下方添加这些行后:
override func bitsdojo_window_configure() -> UInt {
return BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP
}
您的代码现在应如下所示:
class MainFlutterWindow: BitsdojoWindow {
override func bitsdojo_window_configure() -> UInt {
return BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP
}
override func awakeFromNib() {
... //rest of your code
#
如果您不想使用自定义框架而更喜欢标准窗口标题栏和按钮,则可以BDW_CUSTOM_FRAME
从上面的代码中删除该标志。
如果你不想在启动时隐藏窗口,你可以BDW_HIDE_ON_STARTUP
从上面的代码中删除标志。
对于 Linux 应用程序
在您的应用程序文件夹中,转到linux\my_application.cc
并在文件开头添加以下行:
#include <bitsdojo_window_linux/bitsdojo_window_plugin.h>
然后查找这两行:
gtk_window_set_default_size(window, 1280, 720);
gtk_widget_show(GTK_WIDGET(window));
并将它们更改为:
auto bdw = bitsdojo_window_from(window); // <--- add this line
bdw->setCustomFrame(true); // <-- add this line
//gtk_window_set_default_size(window, 1280, 720); // <-- comment this line
gtk_widget_show(GTK_WIDGET(window));
如您所见,我们注释了行调用gtk_window_set_default_size
并在之前添加了这两行gtk_widget_show(GTK_WIDGET(window));
auto bdw = bitsdojo_window_from(window);
bdw->setCustomFrame(true);
THE END