QT标准输入对话框

来源:互联网 发布:烧烤火锅一体锅 知乎 编辑:程序博客网 时间:2024/06/08 09:27
main函数
#include <stdio.h>
union test
{
    int a;
    char b;
};
int endian_test(void)
{
    union test t1;
    t1.a = 1;
    return t1.b;
}
int main(void)
{
    int i = endian_test();
    if(i == 1)
    {
        printf("is little endian.\n");
    }
    else
    {
        printf("is big endian.\n");
    }
    printf("i = %d.\n", i);
    return 0;
}
dialog.h 在里边声明四个槽函数
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QInputDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
    Q_OBJECT
public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
private slots:
    void on_pushButton_name_clicked();
    void on_pushButton_sex_clicked();
    void on_pushButton_age_clicked();
    void on_pushButton_grade_clicked();
private:
    Ui::Dialog *ui;
};
#endif // DIALOG_H

dialog.cpp 编写槽函数,建立槽函数与显示窗口的连接
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    ui->lineEdit_name->setText("张洪存");
}
Dialog::~Dialog()
{
    delete ui;
}
void Dialog::on_pushButton_name_clicked()
{
    bool ok;
   QString text=QInputDialog::getText(this,tr("标准字符串输入对话框"),tr("请输入姓名:"),QLineEdit::Normal,ui->lineEdit_name->text(),&ok);
   if(ok && !text.isEmpty())
           ui->lineEdit_name->setText(text);
}
void Dialog::on_pushButton_sex_clicked()
{
    QStringList SexItems;
    SexItems << tr("男") << tr("女")<<tr("天梦");
    bool ok;
    QString SexItem = QInputDialog::getItem(this,tr("标准条目选择对话框"),tr("请选择性别:"),SexItems,0,false,&ok);
    if(ok&&!SexItem.isEmpty())
        ui->lineEdit_sex->setText(SexItem);
}
void Dialog::on_pushButton_age_clicked()
{
    bool ok;
   int age=QInputDialog::getInt(this,tr("标准int类型输入对话框"),tr("请输入年龄:"),ui->lineEdit_age->text().toInt(&ok),0,100,1,&ok);
   if(ok)
           ui->lineEdit_age->setText(QString(tr("%1")).arg(age));
}
void Dialog::on_pushButton_grade_clicked()
{
    bool ok;
    double age=QInputDialog::getDouble(this,tr("标准Double类型输入对话框"),tr("请输入年龄:"),ui->lineEdit_age->text().toDouble(&ok),0,100,1,&ok);
    if(ok)
            ui->lineEdit_grade->setText(QString(tr("%1")).arg(age));
}
main.cpp QT标准main函数,不需要更改
#include "dialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();
    return a.exec();
}