Qt SpinBox LineEdit 练习

发布于:2025-03-17 ⋅ 阅读:(10) ⋅ 点赞:(0)

 

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_pushButtonCal_clicked();

    void on_spinBoxDec_valueChanged(int arg1);

    void on_spinBoxBin_valueChanged(int arg1);

    void on_spinBoxHex_valueChanged(int arg1);

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->spinBoxNum, &QSpinBox::valueChanged, this, &Widget::on_pushButtonCal_clicked);
    connect(ui->doubleSpinBoxPrice, &QDoubleSpinBox::valueChanged, this, &Widget::on_pushButtonCal_clicked);
    ui->doubleSpinBoxTotalPri->setDecimals(1);
}

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

void Widget::on_pushButtonCal_clicked()
{
    int num = ui->spinBoxNum->value();
    float price = ui->doubleSpinBoxPrice->value();
    float total = num * price;
    ui->doubleSpinBoxTotalPri->setValue(total);
}


void Widget::on_spinBoxDec_valueChanged(int arg1)
{
    ui->spinBoxBin->setValue(arg1);
    ui->spinBoxHex->setValue(arg1);
}


void Widget::on_spinBoxBin_valueChanged(int arg1)
{
    ui->spinBoxDec->setValue(arg1);
    ui->spinBoxHex->setValue(arg1);
}


void Widget::on_spinBoxHex_valueChanged(int arg1)
{
    ui->spinBoxBin->setValue(arg1);
    ui->spinBoxHex->setValue(arg1);
}

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_btnLeft_clicked();

    void on_btnCenter_clicked();

    void on_btnRight_clicked();

    void on_btnBlod_clicked(bool checked);

    void on_btnItalic_clicked(bool checked);

    void on_btnUnderline_clicked(bool checked);

    void on_chkBoxReadOly_clicked(bool checked);

    void on_chkBoxEnable_clicked(bool checked);

    void on_chkBoxClear_clicked(bool checked);

    void on_radioBtnBlack_clicked();

    void on_redioBrnRed_clicked();

    void on_radioBtnBlue_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"

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

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

void Widget::on_btnLeft_clicked()
{
    ui->lineEdit->setAlignment(Qt::AlignLeft);
}


void Widget::on_btnCenter_clicked()
{
    ui->lineEdit->setAlignment(Qt::AlignCenter);
}


void Widget::on_btnRight_clicked()
{
    ui->lineEdit->setAlignment(Qt::AlignRight);
}


void Widget::on_btnBlod_clicked(bool checked)
{
    QFont font = ui->lineEdit->font();
    font.setBold(checked);
    ui->lineEdit->setFont(font);
}


void Widget::on_btnItalic_clicked(bool checked)
{
    QFont font = ui->lineEdit->font();
    font.setItalic(checked);
    ui->lineEdit->setFont(font);
}


void Widget::on_btnUnderline_clicked(bool checked)
{
    QFont font = ui->lineEdit->font();
    font.setUnderline(checked);
    ui->lineEdit->setFont(font);
}


void Widget::on_chkBoxReadOly_clicked(bool checked)
{
    ui->lineEdit->setReadOnly(checked);
}


void Widget::on_chkBoxEnable_clicked(bool checked)
{
    ui->lineEdit->setEnabled(checked);
}


void Widget::on_chkBoxClear_clicked(bool checked)
{
     ui->lineEdit->setClearButtonEnabled(checked);
}


void Widget::on_radioBtnBlack_clicked()
{
    QPalette palette = ui->lineEdit->palette();
    palette.setColor(QPalette::Text, Qt::black);
    ui->lineEdit->setPalette(palette);
}

void Widget::on_redioBrnRed_clicked()
{
    QPalette palette = ui->lineEdit->palette();
    palette.setColor(QPalette::Text, Qt::red);
    ui->lineEdit->setPalette(palette);
}

void Widget::on_radioBtnBlue_clicked()
{
    QPalette palette = ui->lineEdit->palette();
    palette.setColor(QPalette::Text, Qt::blue);
    ui->lineEdit->setPalette(palette);
}

#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}