收货人信息清单(改进中):
dialog.h文件:
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QLineEdit>
#include <QLabel>
#include <QPushButton>
#include <QComboBox>
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
signals:
private slots:
void clearEditLine();
void saveClicked();
private:
QLabel *name;
QLabel *area;
QLabel *address;
QLabel *phone;
QLabel *huo;
QLabel *tel;
QLabel *email;
QLabel *addressAliase;
QLabel *note;
QLineEdit *editName;
QComboBox *cobProvince;
QComboBox *cobCity;
QComboBox *cobArea;
QLineEdit *editAddress;
QLineEdit *editPhone;
QLineEdit *editTel;
QLineEdit *editEmail;
QLineEdit *editAddressAliase;
QPushButton *save;
};
#endif // DIALOG_Hdialog.cpp文件:
#include "dialog.h"
#include <QtGui>
#include <QLayout>
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
name = new QLabel(tr("收货人:"));
editName = new QLineEdit;
name->setBuddy(editName);
area = new QLabel(tr("所在地区:"));
cobProvince = new QComboBox();
cobProvince->addItem(tr("请选择"));
cobProvince->addItem(tr("陕西"));
cobCity = new QComboBox();
cobCity->addItem(tr("请选择"));
cobCity->addItem(tr("西安市"));
cobArea = new QComboBox();
cobArea->addItem(tr("请选择"));
cobArea->addItem(tr("未央区"));
cobArea->addItem(tr("长安区"));
cobArea->addItem(tr("碑林区"));
cobArea->addItem(tr("新城区"));
cobArea->addItem(tr("高新区"));
cobArea->addItem(tr("莲湖区"));
cobArea->addItem(tr("雁塔区"));
cobArea->addItem(tr("临潼区"));
address = new QLabel(tr("详细地址:"));
editAddress = new QLineEdit;
address->setBuddy(editAddress);
phone = new QLabel(tr("手机号码:"));
editPhone = new QLineEdit;
phone->setBuddy(editPhone);
huo = new QLabel(tr("或"));
tel = new QLabel(tr("固定电话:"));
editTel = new QLineEdit;
tel->setBuddy(editTel);
email = new QLabel(tr("邮箱:"));
editEmail = new QLineEdit;
email->setBuddy(editEmail);
addressAliase = new QLabel(tr("地址别名:"));
editAddressAliase = new QLineEdit;
addressAliase->setBuddy(editAddressAliase);
note = new QLabel(tr("设置一个易记的名称,如:“送到家里”、“送到公司”"));
save = new QPushButton(tr("保存收货地址"));
connect(save, SIGNAL(clicked()), this, SLOT(saveClicked()));
QHBoxLayout *areaLayout = new QHBoxLayout;
areaLayout->addWidget(cobProvince);
areaLayout->addWidget(cobCity);
areaLayout->addWidget(cobArea);
QVBoxLayout *leftPhone = new QVBoxLayout;
leftPhone->addWidget(phone);
leftPhone->addWidget(editPhone);
//leftPhone->addStretch();
QVBoxLayout *rightTel = new QVBoxLayout;
rightTel->addWidget(tel);
rightTel->addWidget(editTel);
//rightTel->addStretch();
QHBoxLayout *numLayout = new QHBoxLayout;
numLayout->addLayout(leftPhone);
numLayout->addWidget(huo);
numLayout->addLayout(rightTel);
//numLayout->addStretch();
QHBoxLayout *aliaseLayout = new QHBoxLayout;
aliaseLayout->addWidget(editAddressAliase);
aliaseLayout->addWidget(note);
//aliaseLayout->addStretch();
QVBoxLayout *leftMainLayout = new QVBoxLayout;
leftMainLayout->addWidget(name);
leftMainLayout->addWidget(editName, 10);
leftMainLayout->addWidget(area); //
leftMainLayout->addLayout(areaLayout);
leftMainLayout->addWidget(address);
leftMainLayout->addWidget(editAddress);
leftMainLayout->addLayout(numLayout);
leftMainLayout->addWidget(email);
leftMainLayout->addWidget(editEmail);
leftMainLayout->addWidget(addressAliase);
leftMainLayout->addLayout(aliaseLayout);
leftMainLayout->addWidget(save, 20);
//leftMainLayout->addStretch();
QVBoxLayout *rightMainLayout = new QVBoxLayout;
QHBoxLayout *mainLayout = new QHBoxLayout;
mainLayout->addLayout(leftMainLayout);
mainLayout->addLayout(rightMainLayout, 10);
setLayout(mainLayout);
setWindowTitle(tr("添加收货地址"));
setFixedHeight(sizeHint().height());
setFixedWidth(sizeHint().width());
}
Dialog::~Dialog()
{
}
void Dialog::clearEditLine()
{
editName->setText("");
//cobProvince->setItemText(1);
editAddress->setText("");
editPhone->setText("");
editTel->setText("");
editEmail->setText("");
editAddressAliase->setText("");
}
void Dialog::saveClicked()
{
QDialog *ShowDialog = new QDialog;
QString textName = editName->text();
QString textProvince = cobProvince->currentText();
QString textCity = cobCity->currentText();
QString textArea = cobArea->currentText();
QString textAddress = editAddress->text();
QString textPhone = editPhone->text();
QString textTel = editTel->text();
QString textEmail = editEmail->text();
QString textAddressAliase = editAddressAliase->text();
QLabel *showName = new QLabel(name->text() + textName);
QLabel *showArea = new QLabel(area->text() + textProvince + textCity + textArea);
QLabel *showAddress = new QLabel(address->text() + textAddress);
QLabel *showPhone = new QLabel(phone->text() + textPhone);
QLabel *showTel = new QLabel(tel->text() + textTel);
QLabel *showEmail = new QLabel(email->text() + textEmail);
QLabel *showAddressAliase = new QLabel(addressAliase->text() + textAddressAliase);
QPushButton *editText = new QPushButton(tr("编辑"));
QPushButton *deleteText = new QPushButton(tr("删除"));
ShowDialog->connect(editText, SIGNAL(clicked()), ShowDialog, SLOT(close()));
ShowDialog->connect(deleteText, SIGNAL(clicked()), ShowDialog, SLOT(close()));
ShowDialog->connect(deleteText, SIGNAL(clicked()), this, SLOT(clearEditLine()));
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addWidget(editText);
buttonLayout->addWidget(deleteText);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(buttonLayout);
mainLayout->addWidget(showName);
mainLayout->addWidget(showArea);
mainLayout->addWidget(showAddress);
mainLayout->addWidget(showPhone);
mainLayout->addWidget(showTel);
mainLayout->addWidget(showEmail);
mainLayout->addWidget(showAddressAliase);
ShowDialog->setLayout(mainLayout);
ShowDialog->setWindowTitle(textName + textArea);
ShowDialog->exec();
}main.cpp文件:
#include "dialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
return a.exec();
}运行截图:
本文出自 “V脸” 博客,请务必保留此出处http://xuzhen1024.blog.51cto.com/8881317/1625810
原文:http://xuzhen1024.blog.51cto.com/8881317/1625810