mod A 核心代码以 cli 为主
mod B GUI 部分
现在需要让 mod B 的函数调用 mod A 函数中 fmt.Printf()部分.把 fmt.Printf()的显示到 GUI 界面. 这方面该怎么让打印出来的值返回呢?谢谢.
func main() {
ui.Main(w)
}
//主窗口
func w() {
//生成主窗口
win := ui.NewWindow("农历择吉", 800, 600, true)
//添加鼠标点击之后关闭窗口
win.OnClosing(func(*ui.Window) bool {
ui.Quit()
return true
})
//添加"退出"菜单时执行的函数功能
ui.OnShouldQuit(func() bool {
win.Destroy()
return true
})
//设置控件
tab := ui.NewTab()
Info(tab, win) //历法信息
ListDay(tab, win) //农历月历表
JiQi24(tab, win) //24 节气
About(tab, win) //软件信息
hbox := ui.NewHorizontalBox() //创建水平框架
hbox.SetPadded(true)
//显示
win.Show()
}
//节气信息
func JiQi24(tab *ui.Tab, win *ui.Window) {
win.SetChild(tab)
win.SetMargined(true)
tab.Append("24 节气", TabJiQi24())
tab.SetMargined(2, true) //数字为显示顺序
}
//显示 24 节气标签
func TabJiQi24() ui.Control {
hbox := ui.NewHorizontalBox()
hbox.SetPadded(true)
vbox := ui.NewVerticalBox()
vbox.SetPadded(true)
jq24s := jieqiInfo()
fmt.Printf("%s\n", jq24s)
lab := ui.NewLabel(``)
lab.SetText(jq24s)
vbox.Append(lab, true)
hbox.Append(vbox, false)
return hbox
}
现在这里的内容是能显示出来的不过不是需要的内容
func jieqiInfo() string {
attrstr = ui.NewAttributedString("这里传入 stdout 出来的内容")
appendWithAttributes("气1", ui.TextSize(18))
attrstr.AppendUnattributed("\n")
appendWithAttributes("节气2", ui.TextSize(18))
attrstr.AppendUnattributed("\n")
appendWithAttributes("节气3", ui.TextSize(18))
attrstr.AppendUnattributed("\n")
return attrstr.String() //返回获取的字符串内容
}
希望把下面 fmt.Printf(".....")内容显示到 func jieqiInfo() 对应的 appendWithAttributes("节气2", ui.TextSize(18))中,替换里面的"节气 2 " 同时不想在 GUI 界面的函数中传参数.....
var jmc string
for i := 1; i < 28; i++ {
t := all[i]
y := t.Year()
m := int(t.Month())
d := t.Day()
//h := t.Hour()
if i > 24 {
jmc = julian.JqHs[i-23]
//打印年份节气
fmt.Printf("阳历日期: %d 年%d 月%d 日:%s\n", y, m, d, jmc)
} else {
//打印年份节气
jmc = julian.JqHs[i+1] //节气名称
fmt.Printf("阳历日期: %d 年%d 月%d 日:%s\n", y, m, d, jmc)
}
}
}
![]() |
1
labulaka521 2020-05-18 07:47:57 +08:00 via Android
这两年没更新还能用吗,作者估计都弃坑了,推荐一个 gioui
|
![]() |
2
AmrtaShiva OP @labulaka521 #1 那个不好写啊
|
![]() |
3
labulaka521 2020-05-18 09:28:04 +08:00 via Android ![]() @AmrtaShiva 看着还行吧,就是代码写的多点,前几天问作者要了个文档 https://gist.github.com/egonelbre/f458f857d95d8330cbc1fb05d638ef5c,这个库两年多没更新,你也敢用吗?
|
![]() |
4
AmrtaShiva OP @labulaka521 #3 谢谢。我先试一下现在这个。框架都写好了。就差里面内容了 https://b23.tv/1IrhXR
|
![]() |
5
AmrtaShiva OP @labulaka521 #3 这个库支持汉字输入吗?
|