C++ 用qt提升类捕捉信号

C++ 用qt提升类捕捉信号,c++,qt,C++,Qt,几天前开始学习Qt的基础知识,我的问题包括: -Qt设计器(UI) -晋升班 有了Qt designer(我相信甚至没有它),我们可以“捕捉信号”或创建事件,我们可以像这样创建一个私有插槽:“on_u[widget_name][signal_name]”。下面的代码可以工作,我在这里没有问题: #include "custom.h" #include "ui_custom.h" #include <QDebug> CustomWidget::CustomWidget(QWidget

几天前开始学习Qt的基础知识,我的问题包括: -Qt设计器(UI) -晋升班

有了Qt designer(我相信甚至没有它),我们可以“捕捉信号”或创建事件,我们可以像这样创建一个私有插槽:“on_u[widget_name][signal_name]”。下面的代码可以工作,我在这里没有问题:

#include "custom.h"
#include "ui_custom.h"
#include <QDebug>

CustomWidget::CustomWidget(QWidget *parent) :
  QWidget(parent),
  ui(new Ui::CustomWidget)
{
  ui->setupUi(this);
//  ui->horizontalLayout->setContentsMargins(0,0,0,0);
//  ui->horizontalLayout->setAlignment(Qt::AlignLeft);
}

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

void CustomWidget::on_widthInput_valueChanged(int value){
  qDebug() << "test";
}
#包括“custom.h”
#包括“ui_custom.h”
#包括
CustomWidget::CustomWidget(QWidget*父项):
QWidget(母公司),
ui(新ui::CustomWidget)
{
用户界面->设置用户界面(此);
//用户界面->水平布局->设置内容边缘(0,0,0,0);
//ui->horizontalLayout->setAlignment(Qt::AlignLeft);
}
CustomWidget::~CustomWidget()
{
删除用户界面;
}
void CustomWidget::on_width输入值已更改(int值){

qDebug()如果你想在派生类中重新实现
上的
,只需在基类中将其声明为
virtual
,或者如果你想实现其他一些,请更详细地描述。我又添加了一段来解释。提升的类在Qt设计器中是“children”,但它们不是“children”在C++类树中,所以我不是在讨论继承对象。我想你应该阅读关于代码> QT信号/时隙< /> >,它们不是通过定义具有特殊名称的函数来连接的,而是通过调用
connect
函数来连接的,在您的情况下,
connect
位于自动生成的代码中,这就是为什么看不到它的原因。因此,您只需手动调用
connect
,或者使用
virtual
重用已有的连接即可