Nodejs相关:node-webkit中,怎样定位窗口位置

Nodejs相关:node-webkit中,怎样定位窗口位置

在package.json中能否设置默认的窗口位置?

如果不能,我们应该怎样实现?

6 回复

Node.js 相关:node-webkit 中,怎样定位窗口位置

在 package.json 中能否设置默认的窗口位置?

package.json 文件中,你可以通过 window 对象下的 xy 属性来设置窗口的默认位置。例如:

{
  "name": "your-app",
  "main": "index.html",
  "window": {
    "width": 800,
    "height": 600,
    "x": 100,   // 窗口的初始 X 坐标
    "y": 100    // 窗口的初始 Y 坐标
  }
}

如果不能,我们应该怎样实现?

如果你希望在运行时动态地改变窗口的位置,可以使用 nw.Window.get() 方法获取当前窗口对象,并调用 setPosition() 方法来设置窗口的位置。

以下是一个示例代码,展示如何在用户点击某个按钮时改变窗口的位置:

<!DOCTYPE html>
<html>
<head>
  <title>Change Window Position Example</title>
  <script src="node_modules/nwjs/dist/nw.gui.js"></script>
</head>
<body>
  <button id="moveButton">Move Window</button>

  <script>
    document.getElementById('moveButton').addEventListener('click', function() {
      var win = nw.Window.get();
      win.setPosition(200, 200); // 设置窗口的位置为 (200, 200)
    });
  </script>
</body>
</html>

在这个例子中,当用户点击按钮时,窗口将被移动到屏幕坐标 (200, 200) 的位置。

解释

  • package.json: 你可以通过配置 xy 属性来设置窗口的默认位置。
  • nw.Window.get(): 这个方法返回当前窗口的实例。
  • win.setPosition(x, y): 使用这个方法可以动态地设置窗口的位置。

通过这种方式,你可以在不同的场景下灵活地控制窗口的位置。


没去看wiki 文档?文档里面应该有吧

在package.json中设置默认的窗口位置只有三个选项:null / center / mouse https://github.com/rogerwang/node-webkit/wiki/Manifest-format

也可以在启动后用Window.setPosition来设置 https://github.com/rogerwang/node-webkit/wiki/Window

psckage.json中能否设置坐标?我找到了Windows.moveTo(0, 0);可以改变坐标,可是那是启动之后改变,会有我要的是一开始就在那里

position中mouse是什么意思?是不是就是默认值?

要在 node-webkit(现称为 NW.js)中定位窗口位置,可以通过在 package.json 中配置或使用 JavaScript 动态设置窗口的位置。以下是两种方法的详细说明:

方法一:通过 package.json 设置

你可以在 package.json 文件中直接指定窗口的位置。例如:

{
  "name": "myapp",
  "main": "index.html",
  "window": {
    "width": 1024,
    "height": 768,
    "x": 100,  // 窗口左上角的 x 坐标
    "y": 100   // 窗口左上角的 y 坐标
  }
}

在这个例子中,xy 属性定义了窗口左上角相对于屏幕左上角的位置。

方法二:通过 JavaScript 动态设置

如果你需要在运行时动态设置窗口位置,可以使用 nw.Window.get() 方法获取当前窗口对象,并调用 setPosition() 方法来设置位置。以下是一个示例代码:

var gui = require('nw.gui');
var win = gui.Window.get();

// 设置窗口位置
win.setPosition(200, 200);

这里,setPosition(200, 200) 将窗口左上角定位到屏幕坐标 (200, 200)。

这两种方法都可以根据你的需求选择使用。如果你希望用户每次打开应用时都看到相同的窗口位置,可以将位置信息存储在一个配置文件中并在应用启动时读取并设置。

回到顶部