当前位置: 首页 > news >正文

qt 控件的焦点事件

在 Qt 中,设置焦点策略是通过 QWidgetsetFocusPolicy() 方法来实现的。焦点策略控制了一个控件何时和如何获取焦点。Qt 提供了几种常见的焦点策略,以帮助管理控件的焦点行为。

常见的焦点策略

  1. Qt::NoFocus:控件不接受焦点。
  2. Qt::TabFocus:控件可以通过按 Tab 键获得焦点。
  3. Qt::ClickFocus:控件可以通过鼠标点击获得焦点。
  4. Qt::StrongFocus:控件可以通过鼠标点击或键盘按键(例如 Tab 键)获得焦点。
  5. Qt::WheelFocus:控件可以通过鼠标滚轮获得焦点。
#include <QWidget>
#include <QPushButton>
#include <QVBoxLayout>
#include <QApplication>

class MyWidget : public QWidget {
public:
    MyWidget() {
        // 创建按钮
        QPushButton *button1 = new QPushButton("Button 1", this);
        QPushButton *button2 = new QPushButton("Button 2", this);
        
        // 设置按钮的焦点策略
        button1->setFocusPolicy(Qt::ClickFocus);  // 通过点击获得焦点
        button2->setFocusPolicy(Qt::StrongFocus); // 可以通过点击或键盘Tab获得焦点
        
        // 创建布局
        QVBoxLayout *layout = new QVBoxLayout(this);
        layout->addWidget(button1);
        layout->addWidget(button2);
        
        setLayout(layout);
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    
    MyWidget widget;
    widget.show();
    
    return app.exec();
}

 

相关文章:

  • 共享设备管理难?MDM助力Kiosk模式一键部署
  • P2704 [NOI2001] 炮兵阵地
  • 血压高吃哪些水果比较好喵?
  • VM ubuntu20.04 虚拟机与主机之间不能互相复制的解决
  • Deepseek R1模型本地化部署+API接口调用详细教程:释放AI生产力
  • 云原生时代的后端开发:架构、工具与最佳实践
  • 6 Flink Table 和相关概念
  • TCP可靠传输的ARQ协议
  • 20250214在ubuntu20.04下使用obs studio录制外挂的1080p的USB摄像头【下载安装】
  • vm vitualbox和主机ssh连接,使用net 和仅主机网卡连接
  • Python爬虫抓取数据时,如何设置请求头?
  • 【人工智能】python如何提供API接口供他人调用
  • EDR和杀软的区别
  • C++ Primer 参数传递
  • PyCharm控制台中文乱码
  • DeepSeek与核货宝订货系统的协同进化:智能商业范式重构
  • Python爬取哪吒2电影(2025最新详细版)
  • ffmpeg configure 研究1-命令行参数的分析
  • Spring框架支持的bean作用域
  • 2.1 JUnit 5 测试发现机制详解
  • 《AI×SCIENCE十大前沿观察》9:合成数据和数据基础设施
  • 跨越时空的“精神返乡”,叶灵凤藏书票捐赠上海文学馆
  • “拼好假”的年轻人,今年有哪些旅游新玩法?
  • 体坛联播|郑钦文收获红土赛季首胜,国际乒联公布财报
  • “科创板八条”后百单产业并购发布,披露交易金额超247亿
  • 央行最新报告:积极落地5月推出的一揽子金融政策,促进经济供需平衡、物价合理回升