将布尔传给qdialog

时间:2016-11-10 02:27:25

标签: c++ qt setter qdialog

我正试图通过setter方法将bool传递给qdialog;代码编译,但该值似乎没有在对话框中。我已经包含了相关的代码,我希望它是可读的。我在这里缺少什么?

// forcequitDialog h file

public:
setAction(const bool &takeaction);

private:
     bool m_action;

// forcequitDialog.cpp

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

       if (m_action)
          ui->title->setText("Start Application");
        else
       ui->title->setText("Stop Application");

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



  void forcequitDialog::setAction(const bool &takeaction)
    {
        m_action = takeaction;



    }

// MainWindow.cpp

 forcequitDialog dialog;

    dialog.setAction(true);  // pass value to dialog

    dialog.exec();

1 个答案:

答案 0 :(得分:2)

$("#resetButtonId").click(function(){
    $("#formId").find("input").val("")  ;
    $('#comboboxId').combobox("reload") ;
// or $('#comboboxId').combobox("setValue","default option")
});

你的台词:

forcequitDialog dialog; // constructor called here

在您致电之前执行:

if (m_action)  // doesn't work
    ui->title->setText("Start Application");
else
    ui->title->setText("Stop Application");

将这些指令移到setAction()函数中或将dialog.setAction(true); // pass value to dialog 传递给构造函数。

btw:对bool使用const引用是没用的,它不是一个重物。