扫描时禁用按钮

This commit is contained in:
2026-07-17 17:12:22 +08:00
parent b067ffdc8e
commit 4a2086c6f1
2 changed files with 75 additions and 37 deletions
+55 -29
View File
@@ -24,35 +24,61 @@ func clearButton(label string, entry *widget.Entry) *widget.Button {
})
}
func newIPKeypad(entry *widget.Entry) fyne.CanvasObject {
presets := container.NewHBox(
keyButton("192.168.", entry),
keyButton("169.254.", entry),
keyButton("10.", entry),
keyButton("100.", entry),
)
numpad := container.NewGridWithColumns(3,
keyButton("1", entry), keyButton("2", entry), keyButton("3", entry),
keyButton("4", entry), keyButton("5", entry), keyButton("6", entry),
keyButton("7", entry), keyButton("8", entry), keyButton("9", entry),
entButton(entry), keyButton("0", entry), keyButton(".", entry),
keyButton("/", entry), keyButton("-", entry), clearButton("清空IP", entry),
)
return container.NewVBox(presets, numpad)
func newIPKeypad(entry *widget.Entry) (fyne.CanvasObject, []*widget.Button) {
var btns []*widget.Button
p1 := keyButton("192.168.", entry)
p2 := keyButton("169.254.", entry)
p3 := keyButton("10.", entry)
p4 := keyButton("100.", entry)
btns = append(btns, p1, p2, p3, p4)
presets := container.NewHBox(p1, p2, p3, p4)
n := []struct{ label string }{
{"1"}, {"2"}, {"3"}, {"4"}, {"5"}, {"6"},
{"7"}, {"8"}, {"9"}, {"0"}, {"/"}, {"-"}, {"."},
}
var grid []fyne.CanvasObject
for _, v := range n {
b := keyButton(v.label, entry)
btns = append(btns, b)
grid = append(grid, b)
}
ent := entButton(entry)
btns = append(btns, ent)
grid = append(grid, ent)
clr := clearButton("清空IP", entry)
btns = append(btns, clr)
grid = append(grid, clr)
numpad := container.NewGridWithColumns(3, grid...)
return container.NewVBox(presets, numpad), btns
}
func newPortKeypad(entry *widget.Entry) fyne.CanvasObject {
presets := container.NewGridWithColumns(3,
keyButton("1-65535", entry), keyButton("80;443", entry), keyButton("21", entry),
keyButton("22", entry), keyButton("23", entry), keyButton("3389", entry),
keyButton("445", entry), keyButton("25565", entry), keyButton("25;587", entry),
)
numpad := container.NewGridWithColumns(3,
keyButton("1", entry), keyButton("2", entry), keyButton("3", entry),
keyButton("4", entry), keyButton("5", entry), keyButton("6", entry),
keyButton("7", entry), keyButton("8", entry), keyButton("9", entry),
keyButton("0", entry), keyButton(";", entry), keyButton("-", entry),
entButton(entry), clearButton("清空端口", entry),
)
return container.NewVBox(presets, numpad)
func newPortKeypad(entry *widget.Entry) (fyne.CanvasObject, []*widget.Button) {
var btns []*widget.Button
presetLabels := []string{"1-65535", "80;443", "21", "22", "23", "3389", "445", "25565", "25;587"}
var presetObjs []fyne.CanvasObject
for _, l := range presetLabels {
b := keyButton(l, entry)
btns = append(btns, b)
presetObjs = append(presetObjs, b)
}
presets := container.NewGridWithColumns(3, presetObjs...)
numLabels := []string{"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ";", "-"}
var grid []fyne.CanvasObject
for _, l := range numLabels {
b := keyButton(l, entry)
btns = append(btns, b)
grid = append(grid, b)
}
ent := entButton(entry)
btns = append(btns, ent)
grid = append(grid, ent)
clr := clearButton("清空端口", entry)
btns = append(btns, clr)
grid = append(grid, clr)
numpad := container.NewGridWithColumns(3, grid...)
return container.NewVBox(presets, numpad), btns
}