QT开发中文网

qt获取button的坐标

在Qt中,要获取按钮(QPushButton)的坐标,可以使用 mapToGlobal()mapToParent() 方法。这些方法可以将按钮的局部坐标转换为全局坐标或父窗口的坐标。以下是一些示例代码,展示如何获取按钮的坐标:

示例 1:获取按钮相对于父窗口的坐标

#include <QPushButton>
#include <QWidget>

class MyWidget : public QWidget {
    Q_OBJECT

public:
    MyWidget(QWidget *parent = nullptr) : QWidget(parent) {
        QPushButton *button = new QPushButton("Click Me", this);
        button->setGeometry(50, 50, 100, 30); // 设置按钮位置和大小

        // 获取按钮相对于父窗口的坐标
        QPoint buttonPos = button->pos();
        qDebug() << "Button position relative to parent:" << buttonPos;
    }
};

示例 2:获取按钮相对于屏幕的全局坐标

#include <QPushButton>
#include <QWidget>
#include <QApplication>

class MyWidget : public QWidget {
    Q_OBJECT

public:
    MyWidget(QWidget *parent = nullptr) : QWidget(parent) {
        QPushButton *button = new QPushButton("Click Me", this);
        button->setGeometry(50, 50, 100, 30); // 设置按钮位置和大小

        // 获取按钮相对于屏幕的全局坐标
        QPoint globalPos = button->mapToGlobal(button->pos());
        qDebug() << "Button position on screen:" << globalPos;
    }
};

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

在这两个示例中:

  • 第一个示例使用 pos() 方法来获得按钮相对于其父窗口的位置。
  • 第二个示例使用 mapToGlobal() 将这个位置转换为全局屏幕坐标。

你可以根据你的需要选择合适的方法来获取按钮的位置。


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 示例 1:获取按钮相对于父窗口的坐标
  • 示例 2:获取按钮相对于屏幕的全局坐标
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=12970

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?