{"id":10090,"date":"2021-10-22T05:32:48","date_gmt":"2021-10-21T20:32:48","guid":{"rendered":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/?p=10090"},"modified":"2021-10-22T05:32:48","modified_gmt":"2021-10-21T20:32:48","slug":"gofyne-table","status":"publish","type":"post","link":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/2021\/10\/22\/gofyne-table\/","title":{"rendered":"Go\u8a00\u8a9e\/Fyne\uff1a\u30c6\u30fc\u30d6\u30eb\uff08Table\uff09"},"content":{"rendered":"<p>Go\u8a00\u8a9e\u7528\u306eGUI\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8Fyne\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u30c8\u30c3\u30d7\u306bExcel\u306e\u3088\u3046\u306a\u30c6\u30fc\u30d6\u30eb\uff08Table\uff09\u3092\u8a2d\u7f6e\u3059\u308b\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n<p>\u30d9\u30fc\u30b9\u3068\u306a\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u4ee5\u4e0b\u306e\u8a18\u4e8b\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\uff08BorderLayout\u306e\u30c8\u30c3\u30d7\u306b\u30c4\u30fc\u30eb\u30d0\u30fc\u3092\u8a2d\u7f6e\u3057\u305f\u3082\u306e\uff09\u3092\u30d9\u30fc\u30b9\u306b\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"linkcard\"><div class=\"lkc-internal-wrap\"><a class=\"lkc-link no_icon\" href=\"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/2021\/10\/12\/gofyne-toolber\/\" data-lkc-id=\"268\" target=\"_blank\"><div class=\"lkc-card\"><div class=\"lkc-info\"><div class=\"lkc-domain\">\u975eIT\u4f01\u696d\u306b\u52e4\u3081\u308b\u4e2d\u5e74\u30b5\u30e9\u30ea\u30fc\u30de\u30f3\u306eIT\u65e5\u8a18<\/div><\/div><div class=\"lkc-content\"><figure class=\"lkc-thumbnail\"><img decoding=\"async\" class=\"lkc-thumbnail-img\" src=\"\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-content\/uploads\/2021\/10\/rect7514-150x150.png\" width=\"100px\" height=\"108px\" alt=\"\" \/><\/figure><div class=\"lkc-title\">Go\u8a00\u8a9e\/Fyne\uff1a\u30c4\u30fc\u30eb\u30d0\u30fc\u3068\u30a2\u30a4\u30b3\u30f3\u30dc\u30bf\u30f3<\/div><div class=\"lkc-excerpt\">Go\u8a00\u8a9e\u7528\u306eGUI\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8Fyne\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u30c8\u30c3\u30d7\u306b\u30c4\u30fc\u30eb\u30d0\u30fc\u3068\u30a2\u30a4\u30b3\u30f3\u30dc\u30bf\u30f3\u3092\u8a2d\u7f6e\u3059\u308b\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002\u30d9\u30fc\u30b9\u3068\u306a\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u524d\u56de\u306e\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\uff08BorderLayout\u3092\u8a2d\u7f6e\u3057\u305f\u3082\u306e\uff09\u3092\u30d9\u30fc\u30b9\u306b\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002\u4eca\u56de\u306e\u5b8c\u6210\u5f62\u306f\u3053\u3061\u3089\u3067\u3059\u3002BorderLayout\u306eTop\u306b\u30c4\u30fc\u30eb\u30d0\u30fc\u3092\u8a2d\u7f6e\u3057\u3001\u305d\u306e\u4e0a\u306b\u30a2\u30a4\u30b3\u30f3\u30dc\u30bf\u30f3\u3092\u914d\u7f6e\u3057\u3066\u3044\u304d\u307e\u3059\u3002\u9014\u4e2d\u30bb\u30d1\u30ec\u30fc\u30bf\u30fc\u3068\u3044\u3046\u4ed5\u5207\u308a\u304c\u5165\u3063\u3066\u3044\u308b\u306e\u3068\u3001\uff1f\u30dc\u30bf\u30f3\u304c\u96e2\u308c\u3066\u6700\u53f3\u306b\u8a2d\u7f6e\u3055\u308c\u3066\u3044\u308b\u306e\u304c\u7279\u5fb4\u3067\u3059\u3002&nbsp;\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u3002\u524d\u56de\u8a18\u4e8b\u306b\u300c\u8ffd\u52a0\u300d\u3068\u66f8\u304b\u308c\u305f\u30b3\u30e1\u30f3\u30c8\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u3066\u3082\u3089\u3048...<\/div><\/div><div class=\"clear\"><\/div><\/div><\/a><\/div><\/div>\n<p>\u4eca\u56de\u306e\u5b8c\u6210\u5f62\u306f\u3053\u3061\u3089\u3067\u3059\u3002Excel\u98a8\u3068\u306f\u8a00\u3044\u96e3\u3044\u3067\u3059\u306d\u3002\u30d8\u30c3\u30c0\u30fc\u306f\u306a\u3044\u306e\u3068\u8868\u793a\u3060\u3051\u3067\u7de8\u96c6\u306f\u3067\u304d\u307e\u305b\u3093\u3002csv\u30d5\u30a1\u30a4\u30eb\u306e\u8868\u793a\u304f\u3089\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p><a href=\"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-content\/uploads\/2021\/10\/Screenshot-from-2021-10-22-05-09-33.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-10096\" src=\"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-content\/uploads\/2021\/10\/Screenshot-from-2021-10-22-05-09-33-700x503.png\" alt=\"\" width=\"700\" height=\"503\" srcset=\"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-content\/uploads\/2021\/10\/Screenshot-from-2021-10-22-05-09-33-700x503.png 700w, http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-content\/uploads\/2021\/10\/Screenshot-from-2021-10-22-05-09-33.png 800w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u3002\u300c\u8ffd\u52a0\u300d\u3068\u66f8\u304b\u308c\u305f\u30b3\u30e1\u30f3\u30c8\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u3066\u3082\u3089\u3048\u308c\u3070OK\u3067\u3059\u3002data\u3068\u3044\u3046\uff12\u6b21\u5143\u914d\u5217\u3092\u8868\u793a\u3055\u305b\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\npackage main\r\n\r\nimport (\r\n  &quot;fyne.io\/fyne\/v2&quot;\r\n  &quot;fyne.io\/fyne\/v2\/app&quot;\r\n  &quot;fyne.io\/fyne\/v2\/container&quot;\r\n  &quot;fyne.io\/fyne\/v2\/layout&quot;\r\n  &quot;fyne.io\/fyne\/v2\/theme&quot;\r\n  &quot;fyne.io\/fyne\/v2\/widget&quot;\r\n)\r\n\r\nfunc main() {\r\n  myApp := app.New()\r\n  myWindow := myApp.NewWindow(&quot;Border Layout&quot;)\r\n  myApp.Settings().SetTheme(theme.LightTheme())\r\n  myWindow.Resize(fyne.NewSize(600, 550))\r\n\r\n  toolbar := widget.NewToolbar(\r\n    widget.NewToolbarAction(theme.DocumentCreateIcon(), func() { \/* \u3053\u3053\u306b\u30dc\u30bf\u30f3\u62bc\u4e0b\u5f8c\u306e\u51e6\u7406\u3092\u66f8\u304f *\/ }),\r\n    widget.NewToolbarAction(theme.FolderOpenIcon(), func() { \/* \u3053\u3053\u306b\u30dc\u30bf\u30f3\u62bc\u4e0b\u5f8c\u306e\u51e6\u7406\u3092\u66f8\u304f *\/ }),\r\n    widget.NewToolbarAction(theme.DocumentSaveIcon(), func() { \/* \u3053\u3053\u306b\u30dc\u30bf\u30f3\u62bc\u4e0b\u5f8c\u306e\u51e6\u7406\u3092\u66f8\u304f *\/ }),\r\n    widget.NewToolbarSeparator(), \/\/\u30bb\u30d1\u30ec\u30fc\u30bf\u30fc\r\n    widget.NewToolbarAction(theme.ContentCutIcon(), func() { \/* \u3053\u3053\u306b\u30dc\u30bf\u30f3\u62bc\u4e0b\u5f8c\u306e\u51e6\u7406\u3092\u66f8\u304f *\/ }),\r\n    widget.NewToolbarAction(theme.ContentCopyIcon(), func() { \/* \u3053\u3053\u306b\u30dc\u30bf\u30f3\u62bc\u4e0b\u5f8c\u306e\u51e6\u7406\u3092\u66f8\u304f *\/ }),\r\n    widget.NewToolbarAction(theme.ContentPasteIcon(), func() { \/* \u3053\u3053\u306b\u30dc\u30bf\u30f3\u62bc\u4e0b\u5f8c\u306e\u51e6\u7406\u3092\u66f8\u304f *\/ }),\r\n    widget.NewToolbarSpacer(), \/\/\u30b9\u30da\u30fc\u30b5\u30fc\r\n    widget.NewToolbarAction(theme.HelpIcon(), func() { \/* \u3053\u3053\u306b\u30dc\u30bf\u30f3\u62bc\u4e0b\u5f8c\u306e\u51e6\u7406\u3092\u66f8\u304f *\/ }),\r\n  )\r\n\r\n  \/\/\u8ffd\u52a0 2\u6b21\u5143\u914d\u5217\r\n  var data = &#x5B;]&#x5B;]string{\r\n    {&quot;1-1&quot;, &quot;1-2&quot;, &quot;1-3&quot;, &quot;1-4&quot;, &quot;1-5&quot;},\r\n    {&quot;2-1&quot;, &quot;2-2&quot;, &quot;2-3&quot;, &quot;2-4&quot;, &quot;2-5&quot;},\r\n    {&quot;3-1&quot;, &quot;3-2&quot;, &quot;3-3&quot;, &quot;3-4&quot;, &quot;3-5&quot;}}\r\n\r\n  \/\/\u8ffd\u52a0 Table\u751f\u6210\r\n  list := widget.NewTable(\r\n    func() (int, int) {\r\n      return 3, 5\r\n    },\r\n    func() fyne.CanvasObject {\r\n      return widget.NewLabel(&quot;wide content&quot;)\r\n    },\r\n    func(id widget.TableCellID, o fyne.CanvasObject) {\r\n      o.(*widget.Label).SetText(data&#x5B;id.Row]&#x5B;id.Col])\r\n    })\r\n\r\n  content := container.New(layout.NewBorderLayout(toolbar, nil, nil, nil),\r\n    toolbar, list)\r\n  myWindow.SetContent(content)\r\n  myWindow.ShowAndRun()\r\n}\r\n \r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go\u8a00\u8a9e\u7528\u306eGUI\u30c4\u30fc\u30eb\u30ad\u30c3\u30c8Fyne\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u30c8\u30c3\u30d7\u306bExcel\u306e\u3088\u3046\u306a\u30c6\u30fc &#8230; <\/p>\n","protected":false},"author":1,"featured_media":10098,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[51,21],"tags":[],"class_list":["post-10090","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fyne","category-go"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts\/10090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/comments?post=10090"}],"version-history":[{"count":2,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts\/10090\/revisions"}],"predecessor-version":[{"id":10097,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/posts\/10090\/revisions\/10097"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/media\/10098"}],"wp:attachment":[{"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/media?parent=10090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/categories?post=10090"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pineplanter.moo.jp\/non-it-salaryman\/wp-json\/wp\/v2\/tags?post=10090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}