QT开发中文网

以上在qt中做可视化

如果你想在Qt中实现有理数的可视化,可以使用Qt提供的图形界面组件来创建一个窗口,并添加相应的控件用于输入和显示有理数。

以下是一个简单的示例,展示了如何在Qt中创建一个有理数计算器的可视化界面:

#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QString>
#include <QDebug>

// 有理数类定义与之前相同

class RationalNumberCalculator : public QWidget {
private:
    QLabel* label1;
    QLineEdit* numeratorEdit1;
    QLineEdit* denominatorEdit1;

    QLabel* label2;
    QLineEdit* numeratorEdit2;
    QLineEdit* denominatorEdit2;

    QPushButton* addButton;
    QPushButton* subtractButton;
    QPushButton* multiplyButton;
    QPushButton* divideButton;

public:
    RationalNumberCalculator(QWidget *parent = nullptr) : QWidget(parent) {
        setWindowTitle("Rational Number Calculator");
        setFixedSize(300, 200);

        // 创建标签和编辑框
        label1 = new QLabel("Rational Number 1:", this);
        label1->setGeometry(20, 20, 120, 30);

        numeratorEdit1 = new QLineEdit(this);
        numeratorEdit1->setGeometry(150, 20, 100, 30);

        denominatorEdit1 = new QLineEdit(this);
        denominatorEdit1->setGeometry(150, 60, 100, 30);

        label2 = new QLabel("Rational Number 2:", this);
        label2->setGeometry(20, 100, 120, 30);

        numeratorEdit2 = new QLineEdit(this);
        numeratorEdit2->setGeometry(150, 100, 100, 30);

        denominatorEdit2 = new QLineEdit(this);
        denominatorEdit2->setGeometry(150, 140, 100, 30);

        // 创建按钮
        addButton = new QPushButton("+", this);
        addButton->setGeometry(20, 180, 50, 30);

        subtractButton = new QPushButton("-", this);
        subtractButton->setGeometry(80, 180, 50, 30);

        multiplyButton = new QPushButton("*", this);
        multiplyButton->setGeometry(140, 180, 50, 30);

        divideButton = new QPushButton("/", this);
        divideButton->setGeometry(200, 180, 50, 30);

        // 连接按钮点击信号与槽函数
		connect(addButton,SIGNAL(clicked()),this,SLOT(addNumbers()));
		connect(subtractButton,SIGNAL(clicked()),this,SLOT(subtractNumbers()));
		connect(multiplyButton,SIGNAL(clicked()),this,SLOT(multiplyNumbers()));
		connect(divideButton,SIGNAL(clicked()),this,SLOT(divideNumbers()));
    }

public slots:
    void addNumbers() {
		int num1 = numeratorEdit1->text().toInt();
		int denom1 = denominatorEdit1->text().toInt();
		int num2 = numeratorEdit2->text().toInt();
		int denom2 = denominatorEdit2->text().toInt();

		RationalNumber rn1(num1 ,denom1);
		RationalNumber rn2(num2 ,denom2);

		RationalNumber sum = rn1 + rn2;

		qDebug() << "Sum: " << sum;
    }

	void subtractNumbers() {
		int num1 = numeratorEdit1->text().toInt();
		int denom1 = denominatorEdit1->text().toInt();
		int num2 = numeratorEdit2->text().toInt();
		int denom2 = denominatorEdit2->text().toInt();

		RationalNumber rn1(num1 ,denom1);
		RationalNumber rn2(num2 ,denom2);

		RationalNumber diff = rn1 - rn2;

		qDebug() << "Difference: " << diff;
    }

	void multiplyNumbers() {
		int num1 = numeratorEdit1->text().toInt();
		int denom1 = denominatorEdit1->text().toInt();
		int num2 = numeratorEdit2->text().toInt();
		int denom2 = denominatorEdit2->text().toInt();

		RationalNumber rn1(num1 ,denom1);
		RationalNumber rn2(num2 ,denom2);

		RationalNumber product = rn1 * rn2;

        qDebug() << "Product: " << product;
    }

	void divideNumbers() {
        int num1 = numeratorEdit1->text().toInt();
        int denom1 = denominatorEdit1->text().toInt();
        int num2 = numeratorEdit2->text().toInt();
        int denom2 = denominatorEdit2->text().toInt();

        RationalNumber rn1(num1, denom1);
        RationalNumber rn2(num2, denom2);

        if (denom != 0) {
            RationalNumber quotient = rn1 / rn2;
            qDebug() << "Quotient: " << quotient;
        } else {
            qDebug() << "Error: Division by zero.";
        }
    }
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    RationalNumberCalculator calculator;
    calculator.show();

    return app.exec();
}

这个示例代码创建了一个继承自QWidget的RationalNumberCalculator类。在构造函数中,使用QLabel和QLineEdit来创建标签和编辑框,使用QPushButton来创建按钮,并设置了它们的位置和大小。然后使用connect函数将按钮的clicked信号与对应的槽函数连接起来。

在每个槽函数中,获取用户输入的有理数分子和分母,创建RationalNumber对象,并进行相应的计算操作。最后通过qDebug输出结果。

在主函数中,创建了一个QApplication对象和一个RationalNumberCalculator对象,并显示窗口。

你可以根据自己的需求进一步完善界面设计和功能实现。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://qt.0voice.com/?id=10830

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?