界面效果1:类似优酷的搜索编辑框 界面效果2:普通的搜索编辑框
下面界面如何来实现以上两种效果,显然使用QLineEdit无法达到这种效果,既然优酷可以做出来,那我们也可以尝试看看,是否可以实现类似的效果。 先介绍图一的实现实现方法。 优酷的搜索框可以由QLineEidt + QPushButton组合实现,方法如下: (1)自定义QLineEdit,在QLineEdit里添加布局,将按钮设置在右边; (2)根据按钮在鼠标进入和离开时的状态,修改按钮的样式; (3)给自定义QLineEdit添加信号,当点击按钮搜索按钮时发送信号到主界面做相应的操作
首先新建一个QLineEdit的派生类,右边的搜索按钮作为该类的成员CSearchButton,在构造函数里添加到QLineEdit的布局里,Qt的所有控件都是直接或间接的派生于QWidget, QWidget里有布局,那么其它控件里也有布局,可以把QLineEidt, QPushButton当成一个QWidgte来布局;我们这个搜索编辑框,那么就以QLineEidt为“主界面”,整体水平布局,将QPushBu