我是Qt / C ++的初学者,所以当我从一些教程中学习时,我想做一些除了教程之外的其他内容,但并不确切知道如何。
这是代码,我正在使用http://pastebin.com/x612nAPV
#include "dialog.h"
#include "ui_dialog.h"
#include <QtGui>
#include <QMessageBox>
#include <QString>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
//ui->checkBox->setChecked(true);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_clicked()
{
if(ui->checkBox->isChecked())
{
QMessageBox::information(this,"Result","Cool another Male !");
}
if(ui->checkBox_2->isChecked())
{
QMessageBox::information(this,"Result", "Yay a female");
}
}
我想要做的是制作包含2个变量的第三个if()
,这样做
在这种情况下,如果没有选中复选框来显示消息,但我不知道如何在qt里面使用2个变量if if
喜欢
if(2variableshere)
{
Do...
}
答案 0 :(得分:11)
要创建需要两个值为true的if语句,请将它们与和运算符&&
合并:
if (a && b) {
// if a and b are true
要确定某个值是否为false,请使用 not 运算符!
:
if (!a) {
// if a is false
使用此逻辑,您可以创建此语句,检查是否未检查这两个值。
if (!ui->checkBox_1->isChecked() && !ui->checkBox_2->isChecked()) {
// if box 1 isn't checked and box 2 isn't checked...
与运算符相关的是或运算符,||
:
if (a || b) {
// if a or b is true
我们可以用它来以不同但等效的方式构建这个条件:
if (!(ui->checkBox_1->isChecked() || ui->checkBox_2->isChecked())) {
// if it is not the case that box 1 is checked or box 2 is checked
答案 1 :(得分:3)
我会这样做(如果我有复选框和一个必须选择 - 我可能会使用单选按钮或组合框与两个选项,取决于GUI的其余部分,从而确保只有一个选择的可能性):
void Dialog::on_pushButton_clicked()
{
if(ui->checkBox->isChecked())
{
QMessageBox::information(this, "Result", "Cool another Male !");
}
else if(ui->checkBox_2->isChecked())
{
QMessageBox::information(this, "Result", "Yay a female");
}
else
{
QMessageBox::information(this, "Result", "What are you???");
}
}
此处不需要if(2 variables)
检查,因为else
会处理此问题。但如果你在其他地方需要类似的东西,你当然可以使用&amp;&amp;和||结合这两个条件。
正如其他人所说,如果您阅读有关C或C ++的教科书,那将是明智的。
答案 2 :(得分:1)
void Dialog::on_pushButton_clicked()
{
if(ui->checkBox->isChecked())
{
QMessageBox::information(this,"Result","Cool another Male !");
}
if(ui->checkBox_2->isChecked())
{
QMessageBox::information(this,"Result", "Yay a female");
}
if(!(ui->checkBox->isChecked() || ui->checkBox_2->isChecked()))
{
QMessageBox::infomration(this,"Result","Nothing checked.");
}
}
答案 3 :(得分:1)
您可以使用逻辑运算符 - AND(&amp;&amp;)OR(||)在if语句中使用多个变量。显然变量是Bool类型的。你也可以在返回bool类型值的if语句中传递函数。