qt5写一个switch例子
时间: 2023-07-18 12:03:27 浏览: 155
下面是一个在Qt5中使用switch语句的例子:
```cpp
#include <QCoreApplication>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int num = 3;
switch(num)
{
case 1:
cout << "Number is 1." << endl;
break;
case 2:
cout << "Number is 2." << endl;
break;
case 3:
cout << "Number is 3." << endl;
break;
default:
cout << "Number is not 1, 2, or 3." << endl;
break;
}
return a.exec();
}
```
此程序将输出“Number is 3.”,因为num被设置为3,并在switch语句中匹配到了case 3。如果num被设置为1或2,则会输出相应的消息。如果num不匹配任何case,则会输出默认消息。
相关问题
qt5写一个switch例子,switch参数是枚举
假设我们有一个名为 Fruit 的枚举类型,包含 Apple、Banana 和 Orange 三个值。现在我们要根据用户输入的值来选择对应的操作,可以使用 switch 语句来实现。
在 Qt 中,可以在 QMainWindow 或 QDialog 中添加一个 QLineEdit 和一个 QPushButton,用于输入和提交用户输入的值。在 QPushButton 的 clicked 信号中,我们可以获取 QLineEdit 中的文本,并将其转换为枚举类型。
下面是一个示例代码:
```
#include <QtWidgets>
enum class Fruit
{
Apple,
Banana,
Orange
};
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr)
: QMainWindow(parent)
{
setFixedSize(200, 100);
m_lineEdit = new QLineEdit(this);
m_lineEdit->setGeometry(10, 10, 100, 30);
m_button = new QPushButton("Submit", this);
m_button->setGeometry(10, 50, 100, 30);
connect(m_button, &QPushButton::clicked, this, &MainWindow::onButtonClicked);
}
private slots:
void onButtonClicked()
{
QString text = m_lineEdit->text();
Fruit fruit;
if (text == "Apple")
fruit = Fruit::Apple;
else if (text == "Banana")
fruit = Fruit::Banana;
else if (text == "Orange")
fruit = Fruit::Orange;
else
return;
switch (fruit)
{
case Fruit::Apple:
qDebug() << "You chose Apple";
break;
case Fruit::Banana:
qDebug() << "You chose Banana";
break;
case Fruit::Orange:
qDebug() << "You chose Orange";
break;
}
}
private:
QLineEdit *m_lineEdit;
QPushButton *m_button;
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow mainWindow;
mainWindow.show();
return app.exec();
}
#include "main.moc"
```
在 onButtonClicked 函数中,首先获取 QLineEdit 中的文本。然后根据文本内容将其转换为枚举类型 Fruit。最后使用 switch 语句根据 Fruit 的值选择对应的操作。
注意,由于 Fruit 是一个枚举类型,我们需要使用 enum class 来定义,以避免命名冲突。
qt5写一个switch例子,switch参数是枚举,有default
好的,下面是一个基本的 Qt5 switch 语句的例子:
```cpp
#include <QCoreApplication>
#include <QDebug>
enum MyEnum {
ENUM_VALUE_1,
ENUM_VALUE_2,
ENUM_VALUE_3
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyEnum myEnum = ENUM_VALUE_2;
switch (myEnum) {
case ENUM_VALUE_1:
qDebug() << "Enum value is ENUM_VALUE_1";
break;
case ENUM_VALUE_2:
qDebug() << "Enum value is ENUM_VALUE_2";
break;
case ENUM_VALUE_3:
qDebug() << "Enum value is ENUM_VALUE_3";
break;
default:
qDebug() << "Unknown enum value";
break;
}
return a.exec();
}
```
在这个例子中,我们首先定义了一个枚举类型 `MyEnum`,其中包含三个枚举值:`ENUM_VALUE_1`,`ENUM_VALUE_2`和`ENUM_VALUE_3`。然后我们定义了一个名为 `myEnum` 的变量并将其设置为 `ENUM_VALUE_2`。
接下来,我们使用 `switch` 语句来检查 `myEnum` 的值,并根据其值执行相应的代码。如果 `myEnum` 的值是 `ENUM_VALUE_1`,则打印出“Enum value is ENUM_VALUE_1”,如果 `myEnum` 的值是 `ENUM_VALUE_2`,则打印出“Enum value is ENUM_VALUE_2”,如果 `myEnum` 的值是 `ENUM_VALUE_3`,则打印出“Enum value is ENUM_VALUE_3”。如果 `myEnum` 的值不匹配任何一个枚举值,则打印出“Unknown enum value”。
最后,我们调用 `a.exec()` 来启动 Qt 事件循环并让应用程序保持运行状态。
阅读全文