关于点餐界面的控件连接,由于我是用QT Designer设计的ui文件转成py文件。关于界面如何用python语言写出来的,就不做过多总结(根据加载出来的py文件看懂各个控件代表的是啥意思即可,很简单)。此次,主要分析一下界面互联和关键控件的信号连接:
1.界面的导入与互联:
首先将所设计的ui文件和所需要的qrc文件(加载图片用的)转换成py文件,将其放入同一个目录下面。如右图。五个界面(KfcMain2、KfcNormal、KfcTao、KfcAct、KfcZf)、一个图片文件(KFCpicture.qrc)后转换成KFCpicture.py文件,一个连接界面。
接下来将各界面文件导入加载,界面类导入的代码文件都是一样的,只需要改一下变量名(界面文件里面的窗口名),如下图圈住的部分。关于class类就不多说了,自己能用但讲不出来(尴尬)。导入之后,给主界面的button按钮绑定功能函数(使主界面可以调用子界面进行互联)关于if__name__ == “__main__”代码是一个固定模式,只会用。
界面互联成功后进行,在各界面类中再编写相应的函数对界面中的控件赋予功能。里面有难度的是主界面的tableWidget一个表格(如下图)控件,通过点击各子界面中的加入订单按钮对应在表格中呈现名称、数量和价格。
思路是先初始化各子界面中菜品按钮点击数为0,接下来给各按钮编写函数,通过tableWidget控件的特性(固有获取信号的关键字)获取对应的菜品信息。这个函数里面又有一个难点就是,点添加后,如果想要再次点击添加,会在tableWidget重复显示已添加的菜品信息,这时要设置一个列表name,通过点击返回按钮的次数(如果大于1),就需要获取tableWidget上面菜品的信息,并在此基础上添加再次点击获取的菜品信息。
tableWidget获取菜品信息完成后,如果不想要这个菜品,可以选择删除。这时只要在主界面中给对应的删除按钮编写一个函数(利用tableWidget控件特有的关键字)即可删除已选择的菜品信息。
关于界面的互联和控件相比较前面的界面设计和琐碎的转换较简单一些(其实看个人吧),写出来的也只是自己摸索后的一些思路。任务是完成一个点餐系统,现在到目前为止,点餐界面算完工了,但里面还有一些tableWidget信息读取并导入数据库,以及如何连接支付系统,才是重点难点!路漫漫其修远兮,吾将上下而求索(感慨一下)。
网友评论