赞
踩
问题:Qt第一个聚焦的控件,如何自行设置?
尝试:
1.在代码中设置 lineEdit->setFocus() 。无效!
2.Qt Designer–打开form1.ui–菜单栏下一行–Edit Tab Order–按顺序点击–菜单栏下一行–Edit Widgets–退出。无效!
3.代码–菜单栏–生成–重新生成解决方案–运行。无效!
4.菜单栏–视图–解决方案资源管理器–sloem1–Generated–ui.form1.h–移动控件前后顺序。无效!如下图:
class Ui_form1Ui { public: //任意打乱顺序,Qt运行时第一个聚焦顺序不变 SlGfwLineEdit *lineEdit; SlGfwLineEdit *lineEdit_2; SlGfwLineEdit *lineEdit_3; QWidget *horizontalLayoutWidget; QHBoxLayout *horizontalLayout; SlGfwRadioButton *radioButton; SlGfwRadioButton *radioButton_2; retranslateUi(form1Ui); QMetaObject::connectSlotsByName(form1Ui); } // setupUi ... }
解决方案:
将Qt的form1.ui中,所有可以聚焦的控件全部删除,
按照自己想要聚焦顺序重新拖入form1.ui,此时想要第一个聚焦的控件,排在了第一位。
Qt运行,会弹出一个选项,如下图所示–点击“全是”。
此时,代码–菜单栏–视图–解决方案资源管理器–sloem1–Generated–ui.form1.h–代码自动重新生成–不需要手动处理,并且手动处理无效。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。