问题: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–代码自动重新生成–不需要手动处理,并且手动处理无效。