重新学习qt1

大学之后用过很多很多次qt,但是都隔了一段时间,导致每次都要从新建工程开始学,以前的都忘得差不多了,只是依稀有印象,所以现在重新开始记录遇到的问题,给自己提个醒儿。

1.新建工程

跳过

2.update调用绘图函数开始无法刷新

用Timer定时器使其自动刷新。
看了很多人的问题,基本上是因为一开始update没有办法自己刷新,所以添加一个定时器让他刷新一开始就能够显示重绘函数的内容。
    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(update()));
    timer->start(50);// 50μs更新一次
添加这个代码就可以了。添加到哪里应该是没有影响的。

3.设置控件的显示和隐藏

  label->setVisible (false); 不可见

4.鼠标双击事件

  鼠标单击事件:
      void Test::mousePressEvent(QMouseEvent* event)
{
	if(event->button()==Qt::LeftButton)
	{
		ui.lineEdit->setText(tr("pushLeftButton"));
	}
 }
label绑定单击事件:
添加在eventfilter里
bool Widget::eventFilter(QObject *watch, QEvent *event)
{
    if(watch== ui->label && event->type() == QEvent::MouseButtonRelease)
    {
        xxxx;
        return true;
    }
    return false;
}

5.QLabel样式设置:

颜色
1.

ui->label->setStyleSheet("QLabel{background:#000000;}")

rgb颜色查询表:https://www.sojson.com/rgb.html
2.

QPalette label_palette;
label_palette.setColor(QPalette::Background, QColor(0, 0, 0));
ui->label->setAutoFillBackground(true);
ui->label->setPalette(label_palette);

字体:

label->setStyleSheet("background-color: rgb(250, 0, 0);font-size:60px;color:blue");
label->setText("Hello World");

6.删除更改控件名称

将.h和.cpp里的相关函数删除干净即可,程序不会自动删除,需要手动删除。就不会一直报错

7.同一个label中不同按钮绘制不同的图形

我本来设立了两个flag,分别控制每个按钮画图,但是不知道怎么写这个逻辑,因为我设置了flag1控制按钮A,flag2控制按钮B,flag=1时绘图,=0时清楚,逻辑好像就乱在一起了。最后我把要绘制的图案做成了一个图片,直接插入图片,不走过滤器的判断逻辑。
总觉得走了什么漏洞,不过这样的话也减少了时间代价。

到这里,新接的工程告一段落了,希望下次不要再忘记了。感觉很简单结果做了很久,怀疑自己大学白读了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值