找回密码
 立即注册
收起左侧

如何把lineEidt中的整数值作为paintEvent中的值来画直线呢?

2
回复
6688
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2013-11-26 09:53:37 显示全部楼层 |阅读模式
1Qter豆
这是用QWidget编写的带有ui的,其中第一个输入框属性是xEdit,第二个属性是yEdit,还有一个button,button属性是okButton;



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

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

    //connect(ui->xEdit, SIGNAL(textChanged(const QString&)), this, SLOT(enableokButton(const QString&)));
}

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



void Widget::paintEvent(QPaintEvent *event)
{

QPainter paint(this);
QPoint beginPoint;
QPoint endPoint;//定义插补坐标
beginPoint.setX(0);
beginPoint.setY( 0);
endPoint.setX( x );
endPoint.setY( y );
paint.drawLine( beginPoint, endPoint );
}


void Widget:n_okButton_clicked()
{
   int x;int y;

  QString text1=ui->xEdit->text();
   x=text1.toInt();
   QString text2=ui->yEdit->text();
   y=text2.toInt();
}
我还是编不对,该咋该写才行呢?还有画图和点击OK按钮着两件事编写的顺序有没有关系呢?或者说应该怎么编写?
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

在okButton_clicked()函数最后调用update();这样才会重绘界面。
回复

使用道具 举报

累计签到:1570 天
连续签到:1 天
2013-11-26 09:53:38 显示全部楼层
在okButton_clicked()函数最后调用update();这样才会重绘界面。
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-11-27 09:26:27 显示全部楼层
我试了一下,还没按按钮就画图了,之前编译不通过,现在编译通过,不过直接画图了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了