10、QInputDialog(输入对话框)

发布时间 2023-12-08 11:27:46作者: 秃头的C#

 

private:
    QGridLayout * glayout;

    QPushButton *inputStudentNoButton;
    QLineEdit *inputStudentNoButtonLine;

    QPushButton *inputStudentNameButton;
    QLineEdit *inputStudentNameButtonLine;

    QPushButton *inputStudentSexButton;
    QLineEdit *inputStudentSexButtonLine;

    QPushButton *inputStudentScoreButton;
    QLineEdit *inputStudentScoreButtonLine;


private slots:
    void modifyStudentNo();
    void modifyStudentSex();
};
#include "dialog.h"

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    resize(260,110);

    setWindowTitle("标准对话框测试");


    //布局
    glayout = new QGridLayout(this);

    inputStudentNoButton=new QPushButton("学生序号:");
    inputStudentNoButtonLine=new QLineEdit("20221010");

    inputStudentNameButton=new QPushButton("姓名");
    inputStudentNameButtonLine=new QLineEdit("小明");

    inputStudentSexButton=new QPushButton("性别");
    inputStudentSexButtonLine=new QLineEdit("");

    inputStudentScoreButton=new QPushButton("成绩");
    inputStudentScoreButtonLine=new QLineEdit("500");


    glayout->addWidget(inputStudentNoButton,0,0);
    glayout->addWidget(inputStudentNoButtonLine,0,1);

    glayout->addWidget(inputStudentNameButton,1,0);
    glayout->addWidget(inputStudentNameButtonLine,1,1);

    glayout->addWidget(inputStudentSexButton,2,0);
    glayout->addWidget(inputStudentSexButtonLine,2,1);

    glayout->addWidget(inputStudentScoreButton,3,0);
    glayout->addWidget(inputStudentScoreButtonLine,3,1);

    connect(inputStudentNoButton,SIGNAL(clicked()),this,SLOT(modifyStudentNo()));
    connect(inputStudentSexButton,SIGNAL(clicked()),this,SLOT(modifyStudentSex()));
}

Dialog::~Dialog()
{

}

void Dialog::modifyStudentNo()
{
    bool isbool;
    QString strText=QInputDialog::getText(this,"标准输入对话框","请输入学号",
                                          QLineEdit::Normal,inputStudentNoButtonLine->text(),&isbool);
    if(isbool && !strText.isEmpty()){
        inputStudentNoButtonLine->setText(strText);
    }
}

void Dialog::modifyStudentSex()
{
    QStringList strSexItems;
    strSexItems<< "" <<"";
    bool isbool;
    QString strSexItem=QInputDialog::getItem(this,"标准输入对话框","请输入性别",
                                             strSexItems,0,false,&isbool);
    if(isbool && !strSexItem.isEmpty()){
        inputStudentSexButtonLine->setText(strSexItem);
    }
}