gpt4 book ai didi

javascript - 渲染器进程中的 showMessageBox 图标?

转载 作者:行者123 更新时间:2023-12-04 01:34:38 24 4
gpt4 key购买 nike

选举 v8.0.0; macOS 10.14.5

有没有人成功获得一个图标来显示 dialog.showMessageBoxrenderer过程?

我可以从 main 获取图标处理但不是来自 renderer过程。与 Notifications 相同– 没有图标,但没有错误。我可以控制台记录nativeImage所以我知道它正在被创建,但我仍然得到默认的 Electron 图标。

我可能可以通过消息 main 来解决问题, 显示 showMessageBox ,发回结果等,但这是比我想要的更多的意大利面条代码。

 const iconPath = upath.toUnix(upath.join(__dirname, "assets", "icon.png"));
//debuging:
var fileExists = fs.existsSync(iconPath)
console.log('fileExists', fileExists);

const dialogIcon = nativeImage.createFromPath(iconPath);
//debuging:
console.log('dialogIcon', dialogIcon);

var options = {
type: 'question',
buttons: ['&Yes', '&No'],
title: 'Delete Event',
icon: dialogIcon,
normalizeAccessKeys: true,
message: 'Permanently delete event?'
};

const win = BrowserWindow.getFocusedWindow();
dialog.showMessageBox(win, options)
.then((choice) => {
if (choice.response === 0) {
// do something
}
}).catch(err => {
console.log('ERROR', err);
});

最佳答案

所以为了使用 nativeImagedialog render 中的模块过程,nativeImage需要通过remote访问即使 nativeImage两者均可使用mainrender上下文:

const { ipcRenderer, remote } = require('electron');

错误:
const { ipcRenderer, remote, nativeImage } = require('electron');

右:
const { BrowserWindow, dialog, nativeImage } = require('electron').remote;

关于javascript - 渲染器进程中的 showMessageBox 图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60105487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com