問題: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–代碼自動重新生成–不需要手動處理,并且手動處理無效。