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)
}
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.