再度Qt 五(非原创)
来源:互联网 发布:淘宝上的经典搞笑好评 编辑:程序博客网 时间:2024/04/27 13:52
综合例子:修改用户资料
#ifndef CONTENT_H
#define CONTENT_H
#include "baseinfo.h"
#include "contact.h"
#include "detail.h"
#include <QFrame>
#include <QFrame>
#include <QStackedWidget>
#include <QPushButton>
class Content : public QFrame
{
Q_OBJECT
public:
Content(QWidget *parent=0);
QStackedWidget *stack;
QPushButton *AmendBtn;
QPushButton *CloseBtn;
BaseInfo *baseInfo;
Contact *contact;
Detail *detail;
public:
Content();
};
#endif // CONTENT_H
#include "content.h"
#include <QHBoxLayout>
Content::Content(QWidget *parent)
:QFrame(parent)
{
stack =new QStackedWidget(this);
stack->setFrameStyle(QFrame::Panel|QFrame::Raised);
baseInfo =new BaseInfo();
contact =new Contact();
detail =new Detail();
stack->addWidget(baseInfo);
stack->addWidget(contact);
stack->addWidget(detail);
AmendBtn =new QPushButton(tr("修改"));
CloseBtn =new QPushButton(tr("关闭"));
QHBoxLayout *BtnLayout =new QHBoxLayout;
BtnLayout->addStretch(1);
BtnLayout->addWidget(AmendBtn);
BtnLayout->addWidget(CloseBtn);
QVBoxLayout *RightLayout =new QVBoxLayout(this);
RightLayout->setMargin(10);////
RightLayout->setSpacing(6);////
RightLayout->addWidget(stack);
RightLayout->addLayout(BtnLayout);
}
#ifndef BASEINFO_H
#define BASEINFO_H
#include <QWidget>
//添加的头文件
#include <QLabel>
#include <QLineEdit>
#include <QComboBox>
#include <QTextEdit>
#include <QGridLayout>
#include <QPushButton>
class BaseInfo : public QWidget
{
Q_OBJECT
public:
BaseInfo(QWidget *parent=0);
private:
///////////////////////// 左侧 ////////////
QLabel *UserNameLabel;
QLabel *NameLabel;
QLabel *SexLabel;
QLabel *DepartmentLabel;
QLabel *AgeLabel;
QLabel *OtherLabel;
QLineEdit *UserNameLineEdit;
QLineEdit *NameLineEdit;
QComboBox *SexComboBox;
QTextEdit *DepartmentTextEdit;
QLineEdit *AgeLineEdit;
QGridLayout *LeftLayout;
//////////////// 右侧 //////////////////////
QLabel *HeadLabel; //右上角部分
QLabel *HeadIconLabel;
QPushButton *UpdateHeadBtn;
QHBoxLayout *TopRightLayout;
QLabel *IntroductionLabel; //右下角部分
QTextEdit *IntroductionTextEdit;
QVBoxLayout *RightLayout;
};
#endif // BASEINFO_H
#include "baseinfo.h"
BaseInfo::BaseInfo(QWidget *parent)
:QWidget(parent)
{
/************** 左侧 ******************************/
UserNameLabel =new QLabel(tr("用户名:"));
UserNameLineEdit =new QLineEdit;
NameLabel =new QLabel(tr("姓名:"));
NameLineEdit =new QLineEdit;
SexLabel =new QLabel(tr("性别:"));
SexComboBox =new QComboBox;
SexComboBox->addItem(tr("女"));
SexComboBox->addItem(tr("男"));
DepartmentLabel =new QLabel(tr("部门:"));
DepartmentTextEdit =new QTextEdit;
AgeLabel =new QLabel(tr("年龄:"));
AgeLineEdit =new QLineEdit;
OtherLabel =new QLabel(tr("备注:"));
OtherLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken);
LeftLayout =new QGridLayout();
LeftLayout->addWidget(UserNameLabel,0,0);
LeftLayout->addWidget(UserNameLineEdit,0,1);
LeftLayout->addWidget(NameLabel,1,0);
LeftLayout->addWidget(NameLineEdit,1,1);
LeftLayout->addWidget(SexLabel,2,0);
LeftLayout->addWidget(SexComboBox,2,1);
LeftLayout->addWidget(DepartmentLabel,3,0);
LeftLayout->addWidget(DepartmentTextEdit,3,1);
LeftLayout->addWidget(AgeLabel,4,0);
LeftLayout->addWidget(AgeLineEdit,4,1);
LeftLayout->addWidget(OtherLabel,5,0,1,2);
LeftLayout->setColumnStretch(0,1); //
LeftLayout->setColumnStretch(1,3); //
// this->setLayout(LeftLayout);
/************************************************/
/*************** 右侧 ****************************/
HeadLabel =new QLabel(tr("头像:"));//右上角部分
HeadIconLabel =new QLabel;
QPixmap icon("312.png");//
HeadIconLabel->setPixmap(icon);//
HeadIconLabel->resize(icon.width(),icon.height());//
UpdateHeadBtn =new QPushButton(tr("更新"));
TopRightLayout =new QHBoxLayout();
TopRightLayout->setSpacing(20);
TopRightLayout->addWidget(HeadLabel);
TopRightLayout->addWidget(HeadIconLabel);
TopRightLayout->addWidget(UpdateHeadBtn);
// TopRightLayout->addStretch();
IntroductionLabel =new QLabel(tr("个人说明:"));//右下角部分
IntroductionTextEdit =new QTextEdit;
RightLayout =new QVBoxLayout();
RightLayout->setMargin(10);
RightLayout->addLayout(TopRightLayout);
RightLayout->addWidget(IntroductionLabel);
RightLayout->addWidget(IntroductionTextEdit);
/************************************************/
QGridLayout *mainLayout =new QGridLayout(this);
mainLayout->setMargin(15);
mainLayout->setSpacing(10);
mainLayout->addLayout(LeftLayout,0,0);
mainLayout->addLayout(RightLayout,0,1);
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
}
//BaseInfo::BaseInfo()
//{
//}
#ifndef CONTACT_H
#define CONTACT_H
#include <QWidget>
#include <QWidget>
#include <QLabel>
#include <QGridLayout>
#include <QLineEdit>
#include <QCheckBox>
class Contact : public QWidget
{
Q_OBJECT
public:
Contact(QWidget *parent=0);
private:
QLabel *EmailLabel;
QLineEdit *EmailLineEdit;
QLabel *AddrLabel;
QLineEdit *AddrLineEdit;
QLabel *CodeLabel;
QLineEdit *CodeLineEdit;
QLabel *MoviTelLabel;
QLineEdit *MoviTelLineEdit;
QCheckBox *MoviTelCheckBook;
QLabel *ProTelLabel;
QLineEdit *ProTelLineEdit;
QGridLayout *mainLayout;
};
#endif // CONTACT_H
#include "contact.h"
Contact::Contact(QWidget *parent)
:QWidget(parent)
{
EmailLabel =new QLabel(tr("电子邮件:"));
EmailLineEdit =new QLineEdit;
AddrLabel =new QLabel(tr("联系地址:"));
AddrLineEdit =new QLineEdit;
CodeLabel =new QLabel(tr("邮政编码:"));
CodeLineEdit =new QLineEdit;
MoviTelLabel =new QLabel(tr("移动电话:"));
MoviTelLineEdit =new QLineEdit;
MoviTelCheckBook =new QCheckBox(tr("接收留言"));
ProTelLabel =new QLabel(tr("办公电话:"));
ProTelLineEdit =new QLineEdit;
mainLayout =new QGridLayout(this);
mainLayout->setMargin(15);
mainLayout->setSpacing(10);
mainLayout->addWidget(EmailLabel,0,0);
mainLayout->addWidget(EmailLineEdit,0,1);
mainLayout->addWidget(AddrLabel,1,0);
mainLayout->addWidget(AddrLineEdit,1,1);
mainLayout->addWidget(CodeLabel,2,0);
mainLayout->addWidget(CodeLineEdit,2,1);
mainLayout->addWidget(MoviTelLabel,3,0);
mainLayout->addWidget(MoviTelLineEdit,3,1);
mainLayout->addWidget(MoviTelCheckBook,3,2);
mainLayout->addWidget(ProTelLabel,4,0);
mainLayout->addWidget(ProTelLineEdit,4,1);
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
}
#ifndef DETAIL_H
#define DETAIL_H
#include <QWidget>
#include <QLabel>
#include <QComboBox>
#include <QLineEdit>
#include <QTextEdit>
#include <QGridLayout>
class Detail : public QWidget
{
Q_OBJECT
public:
Detail(QWidget *parent=0);
private:
QLabel *NationalLabel;
QComboBox *NationalComboBox;
QLabel *ProvinceLabel;
QComboBox *ProvinceComboBox;
QLabel *CityLabel;
QLineEdit *CityLineEdit;
QLabel *IntroductLabel;
QTextEdit *IntroductTextEdit;
QGridLayout *mainLayout;
};
#endif // DETAIL_H
#include "detail.h"
Detail::Detail(QWidget *parent)
:QWidget(parent)
{
NationalLabel =new QLabel(tr("国家/地址:"));
NationalComboBox =new QComboBox;
NationalComboBox->insertItem(0,tr("中国"));
NationalComboBox->insertItem(1,tr("美国"));
NationalComboBox->insertItem(2,tr("英国"));
ProvinceLabel =new QLabel(tr("省份:"));
ProvinceComboBox =new QComboBox;
ProvinceComboBox->insertItem(0,tr("江苏省"));
ProvinceComboBox->insertItem(1,tr("山东省"));
ProvinceComboBox->insertItem(2,tr("浙江省"));
CityLabel =new QLabel(tr("城市:"));
CityLineEdit =new QLineEdit;
IntroductLabel =new QLabel(tr("个人说明:"));
IntroductTextEdit =new QTextEdit;
mainLayout =new QGridLayout(this);
mainLayout->setMargin(15);
mainLayout->setSpacing(10);
mainLayout->addWidget(NationalLabel,0,0);
mainLayout->addWidget(NationalComboBox,0,1);
mainLayout->addWidget(ProvinceLabel,1,0);
mainLayout->addWidget(ProvinceComboBox,1,1);
mainLayout->addWidget(CityLabel,2,0);
mainLayout->addWidget(CityLineEdit,2,1);
mainLayout->addWidget(IntroductLabel,3,0);
mainLayout->addWidget(IntroductTextEdit,3,1);
}
#include <QApplication>
#include "content.h"
#include <QTextCodec>
#include <QSplitter>
#include <QListWidget>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QFont font("AR PL KaitiM GB",12);
app.setFont(font);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
QSplitter *splitterMain =new QSplitter(Qt::Horizontal,0);
splitterMain->setOpaqueResize(true);
QListWidget *list =new QListWidget(splitterMain);
list->insertItem(0,QObject::tr("基本信息"));
list->insertItem(1,QObject::tr("联系方式"));
list->insertItem(2,QObject::tr("详细资料"));
Content *content =new Content(splitterMain);
QObject::connect(list,SIGNAL(currentRowChanged(int)),content->stack,SLOT(setCurrentIndex(int)));
splitterMain->setWindowTitle(QObject::tr("修改用户资料"));
splitterMain->setMinimumSize(splitterMain->minimumSize());
splitterMain->setMaximumSize(splitterMain->maximumSize());
splitterMain->show();
return app.exec();
}
- 再度Qt 五(非原创)
- 再度Qt六
- pv操作(非原创)
- QE3再度落空,非美受挫下跌
- 非原创
- 1998年的Google(非原创)
- JAVA排序算法(非原创)
- ASP.NET组件模型 (非原创)
- 事例,数据,摘抄(非原创)
- myeclipse 7.0 破解方法(非原创)
- SQLSERVER2005 的作业调度(非原创)
- Java Date数据类型(非原创)
- 理解java String(非原创)
- JAVASCRIPT中的JSON(非原创二)
- JavaScript中的JSON(非原创一)
- SQLSERVER2005 的作业调度(非原创)
- JAVA排序算法(非原创)
- 怎样介绍自己(非原创)
- 解决oracle排序时按照汉字拼音排序不正确的问题
- 先思再行 闭着眼睛编程
- ASP.NET常用函数(参考用)网址
- 我原来如此
- 商品定价13种技巧
- 再度Qt 五(非原创)
- Sun RPC的使用
- 还原Android彩信数据库
- 美国海军航空母舰简介
- 多线程编程之——线程的同步
- Android软件测试的日志文件抓取简介
- SYBASE、ORACLE函数对比
- 9.19 颠覆日
- cpu,cache,Ram,harddisk存储速度