当前位置:   article > 正文

Qt运行时,如何设置第一个聚焦的控件

Qt运行时,如何设置第一个聚焦的控件

问题: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
    ...
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

解决方案:
将Qt的form1.ui中,所有可以聚焦的控件全部删除,
按照自己想要聚焦顺序重新拖入form1.ui,此时想要第一个聚焦的控件,排在了第一位。

Qt运行,会弹出一个选项,如下图所示–点击“全是”。
此时,代码–菜单栏–视图–解决方案资源管理器–sloem1–Generated–ui.form1.h–代码自动重新生成–不需要手动处理,并且手动处理无效。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/600972
推荐阅读
相关标签
  

闽ICP备14008679号