【发布时间】:2017-03-15 16:05:01
【问题描述】:
我正在学习如何在 Visual Studio 中使用 QT。目前,我正在使用 QT 5.8 和 vs 2017。我创建了一个新项目并使用 QT 设计器添加了一些单选按钮。现在,我想实现一些操作,例如“单击单选按钮时执行此操作”。这是我的代码:
绘制.cpp
#include "Draw.h"
#include "qpushbutton.h"
#include "qradiobutton.h"
#include "qgroupbox.h"
Draw::Draw(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
//Invisible elements
ui.frmAbsolut->setVisible(false);
//We create the connections to methods
connect(this->ui.myradiobutton1, SIGNAL(toggled(bool)), this, SLOT(on_rdbMethod_change(this->ui.myradiobutton1->isChecked, 0)));
}
void Draw::on_rdbMethod_change(bool value, int option)
{
//0: frmAbsolut
printf("%d \n", option);
if (value == true){
if (option == 0) {
this->ui.frmAbsolut->setVisible(true);
}
}
}
画.h
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_Draw.h"
class Draw: public QMainWindow
{
Q_OBJECT
public:
Draw(QWidget *parent = Q_NULLPTR);
private:
Ui::DrawClass ui;
protected slots:
void on_rdbMethod_change(bool, int);
};
如果我运行程序,我不会收到任何错误,如果我检查 connect(...) 行,我会看到它被调用,但是当我单击该单选按钮时,它不会调用我的方法。这有什么问题?
【问题讨论】:
标签: c++ visual-studio qt