本学期的OOP大程决定用Qt来写,今天开始了对它的学习~
我开始是决定通过实战来边做边学,想做一个简单的界面:有一个button和一个spinbox,button每按一下,spinbox里的值都会+1。
结果这么简单的一个小功能做了2个多小时。。。是因为我对Qt的消息槽的机制还不是很理解,本以为直接将clicked与setValue连接起来就可以了,结果当然是编译失败。然后我就自己写了一个slot函数,如下:
#ifndef MYSPINBOX_H
#define MYSPINBOX_H
#include
#include
class MySpinBox:public QSpinBox
{
Q_OBJECT
private:
int value;
public:
MySpinBox(QWidget *parent=0);
void changeValue();
};
#endif // MYSPINBOX_H
#include "myspinbox.h"
MySpinBox::MySpinBox(QWidget *parent):QSpinBox(parent)
{
this->value = 0;
}
void MySpinBox::changeValue()
{
this->value = this->value() + 1;
this->setValue(this->value);
}
总

这篇博客记录了作者在学习Qt时遇到的问题和解决方案。在尝试创建一个包含button和spinbox的简单界面时,作者通过实战学习Qt的消息槽机制。最初设想直接连接clicked信号与setValue方法,但遇到编译失败。最终,作者自定义了一个slot函数解决了问题。
最低0.47元/天 解锁文章
2797

被折叠的 条评论
为什么被折叠?



