我正在尝试将Sparkle添加到我的 Qt(Go 绑定)应用程序中,以使其可以自动更新。问题:运行最新版本时没有弹出对话框这是代码:https://github.com/sparkle-project/Sparkle/blob/master/Sparkle/SUUIBasedUpdateDriver.m#L104作者指出的原因是NSAlert需要运行循环才能工作。我找到了一些文档:https://wiki.qt.io/Application_Start-up_Patternshttps://developer.apple.com/documentation/appkit/nsapplication因此,据我了解,我们必须NSApplication在创建QApplication.void NSApplicationMain(int argc, char *argv[]) { [NSApplication sharedApplication]; [NSBundle loadNibNamed:@"myMain" owner:NSApp]; [NSApp run];}My Go 的主要功能是这样的:func main() { widgets.NewQApplication(len(os.Args), os.Args) ... action := widgets.NewQMenuBar(nil).AddMenu2("").AddAction("Check for Updates...") // http://doc.qt.io/qt-5/qaction.html#MenuRole-enum action.SetMenuRole(widgets.QAction__ApplicationSpecificRole) action.ConnectTriggered(func(bool) { sparkle_checkUpdates() }) ... widgets.QApplication_Exec()}问题:如何从NSApplicationMain事件循环中启动 Go 的主要功能?
目前暂无任何回答
- 0 回答
- 0 关注
- 72 浏览
添加回答
举报
0/150
提交
取消