6.2.3 功能增强
以上程序能够完成所有功能,但仍可做一些工作使程序变得更好,比如:
(1)界面优化
在GUI界面中,将所有的button、slider和edit text简单罗列在界面上会使界面显得非常杂乱无章,也容易给用户造成操作上的麻烦。如果能够按照功能对这些按钮和文本框进行分区,则用户使用起来就会更清楚方便。为实现这个功能,可以使用Button Group控件。这个控件的功能是将若干个空间“包”在一起,使其在视觉上成为一个整体,使GUI界面更容易理解。这个控件的用法很简单,使用者只需要在左侧控件栏选择并将其放在界面中合适的位置即可。同时,用户也可以修改Button Group的Title属性来对该区功能进行简单介绍,如图6-14所示。
图6-14 使用Button Group对控件分区
此外,用户还可以根据前文的介绍,对GUI界面的颜色、控件的字体和字号进行设置,使自己的GUI更加整洁大方,字体更加清晰,如图6-15所示。
图6-15 修改控件的字体、字号和颜色
(2)实现控件间的关联
前文介绍的两种输入阈值方式,即文本框和滚动条,是互相独立的。改动其中一个,不会影响另一个。事实上,这两个控件应该“联动”,即在文本框中输入一个阈值时,滚动条会自动到达相应的位置;反之,当调整滚动条位置时,文本框会实时显示与之对应的具体的数值。在两个控件的回调函数下添加一些程序段,可以实现上述功能,具体如下。
(3)输入值检验
由上文可知,阈值必须在0~255之间。如果使用者输入超过此范围的数字,二值化结果会出错。为了提高程序的健壮性,需要对阈值输入进行检查。可以在读取文本框内容的位置上添加一段保护程序(加粗显示的程序段),采用判断和显示提示框的方式告知使用者输入的阈值超出范围(图6-16)。
图6-16 为程序添加输入阈值超限提示的保护程序