Qt工作笔记-在界面上输出变量、类、this指针的地址

思路:

地址就一4字节数,把其转10进制,再转成16进制就可以在界面上显示了。

程序运行截图如下:

源码如下:

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    int a;
    double b;
    long long c;

    ui->listWidget->insertItem(0,new QListWidgetItem("int a 地址: 0x"+QString::number((unsigned int)&a,16)));
    ui->listWidget->insertItem(0,new QListWidgetItem("double b 地址: 0x"+QString::number((unsigned int)&b,16)));
    ui->listWidget->insertItem(0,new QListWidgetItem("long long c 地址: 0x"+QString::number((unsigned int)&c,16)));
    ui->listWidget->insertItem(0,new QListWidgetItem("this指针 地址: 0x"+QString::number((unsigned int)this,16)));
}

Widget::~Widget()
{
    delete ui;
}

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/81198614