0
    #include "widget.h"
    #include "ui_widget.h"
    #include <ostream>

    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
        p1 = new QPoint;
        p2 = new QPoint;

        connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(on_pushButton_clicked()));
    }

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

void Widget::on_pushButton_clicked()
{

    Widget *ff = new Widget(this);
    ff->curveProcess();

}

点击后,设置要绘制的点,标签按预期显示;

void Widget::curveProcess() {

        QLabel  label;
        label.setText("hahaha");
        label.show();
        p1->setX(0);
        p1->setY(0);
        p2->setX(100);
        p2->setY(100);
        update();

    }

p1 和 p2 在头文件中使用 QPoint *p1 声明;QPoint *p2;void virtual paintEvent(QPaintEvent *);

void Widget::paintEvent(QPaintEvent *) {
        QPainter painter(this);
       painter.drawLine(*p1,*p2);

    }  

点击按钮后,标签显示,我认为这意味着插槽运行良好,但我根本没有线。我是Qt的新手,真诚地感谢大家

4

0 回答 0