gpt4 book ai didi

c++ - 在 QT 框架中设置 QLabel 的像素图

转载 作者:行者123 更新时间:2023-11-28 01:04:40 27 4
gpt4 key购买 nike

我的问题主要围绕两个 UI 文件,Form.ui 和 Form1.ui:

在表单中,我有多个 QLabel(默认情况下设置了 png 图片,因为我们有很 multimap 片,我们只能显示其中的一小部分)和每个 QLabel 小部件的按钮。单击此按钮后,form1 应该会出现一个大的 QLabel,显示用户点击的图片...void Form::ButtonPic1() 应该处理 click 事件,它会显示一个 Form1 的实例,它应该将 Form1 的 Qlabel pic 设置为 test.png

已编辑:

所以这是 form.cpp

#include "form1.h"
#include "form.h"
#include "ui_form.h"
#include "ui_form1.h"

Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);


}

Form::~Form()
{
delete ui;
}
void Form:: ButtonPic1()
{
QPixmap mypix (":/karim/test.png");



Form1* f= new Form1();
f->setLabelPixmap(mypix);
f->showFullScreen();
f->raise();
f->activateWindow();
this->close();

}

这是 Form1.cpp

#include "form1.h"
#include "ui_form1.h"

Form1::Form1(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form1)
{
ui->setupUi(this);
}

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

void setLabelPixmap ( const QPixmap & pic ) {

Form1.ui->labelk->setPixmap(pic);


}

这是头文件form1.h

#ifndef FORM1_H
#define FORM1_H

#include <QWidget>

namespace Ui {
class Form1;
}

class Form1 : public QWidget
{
Q_OBJECT

public:
explicit Form1(QWidget *parent = 0);
~Form1();
void setLabelPixmap(const QPixmap &);

private:
Ui::Form1 *ui;
};

#endif // FORM1_H

我遇到了这个错误:(已编辑)

..\Project\form1.cpp: In function 'void setLabelPixmap(const QPixmap&)':

那么我该如何解决这个问题...我想从 Form 设置 form1 的 Qlabel,或者我应该在 From1 中以某种方式设置???

最佳答案

编译器说 ui->Form1 不起作用,因为 ui 指向的对象中没有 Form1

这可能是因为您拼错了它(form1、From1、form、Form2?),或者因为 ui 没有指向它应该指向的对象。

关于c++ - 在 QT 框架中设置 QLabel 的像素图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6914035/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com