【C/C++学院】(15)QT布局:用户信息

通过实现一个“用户基本资料修改”的功能表来练习使用基本的布局管理,QHBoxLayout,
QVBoxLayout, QGridLayout。

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QComboBox>
#include <QTextEdit>
#include <QGridLayout>
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget();
private:
    /**左侧***/
    QLabel *UserNameLabel; QLineEdit *UserNameLineEdit;
    QLabel *NameLabel; QLineEdit *NameLineEdit;
    QLabel *SexLabel; QComboBox *SexComboBox;
    QLabel *DepartmentLabel; QTextEdit *DepartmentTextEdit;
    QLabel *AgeLabel; QLineEdit *AgeLineEdit;
    QLabel * OtherLabel; QGridLayout *LeftLayout;
    /**右侧***/
    QLabel *HeadLabel; QLabel *HeadIconLabel;
    QPushButton *UpdateHeadBtn; QHBoxLayout *TopRightLayout;
    QLabel *IntroductionLabel; QTextEdit *IntroductionTextEdit;
    QVBoxLayout *RightLayout;
    /**底部***/
    QPushButton *OkBtn, *CancelBtn;
    QHBoxLayout *ButtonLayout;
};

#endif // WIDGET_H
#include "widget.h"
#include <QPixmap>
#include <QFrame>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    setWindowTitle(tr("UserInfo"));
    setWindowIcon(QIcon("1.jpg"));//设置窗口光标

    /**左侧***/
    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);//其他//占用1行2列

    LeftLayout->setColumnStretch(0, 1);//设置gridlayout每列的占位比例
    LeftLayout->setColumnStretch(1, 3);

    /**右侧***/
    HeadLabel = new QLabel(tr("头像:"));//右上角部分
    HeadIconLabel = new QLabel;
    QPixmap icon("1.jpg");
    HeadIconLabel->setPixmap(icon);//lable显示图像
    HeadIconLabel->resize(icon.width(), icon.height());//设置label大小与图像相同
    UpdateHeadBtn = new QPushButton(tr("更新"));

    TopRightLayout = new QHBoxLayout();
    TopRightLayout->setSpacing(20);//设置间距
    TopRightLayout->addWidget(HeadLabel);
    TopRightLayout->addWidget(HeadIconLabel);
    TopRightLayout->addWidget(UpdateHeadBtn);
    IntroductionLabel = new QLabel(tr("个人说明:"));//右下角部分
    IntroductionTextEdit = new QTextEdit;

    RightLayout = new QVBoxLayout();
    RightLayout->setMargin(10);//设置边距
    RightLayout->addLayout(TopRightLayout);
    RightLayout->addWidget(IntroductionLabel);
    RightLayout->addWidget(IntroductionTextEdit);

    /**底部***/
    OkBtn = new QPushButton(tr("确定"));
    CancelBtn = new QPushButton(tr("取消"));

    ButtonLayout = new QHBoxLayout();
    ButtonLayout->addStretch();//加入一个占位符
    ButtonLayout->addWidget(OkBtn);
    ButtonLayout->addWidget(CancelBtn);

    /**********整体的主布局**************/
    QGridLayout *mainLayout = new QGridLayout(this);
    mainLayout->setMargin(15);
    mainLayout->setSpacing(10);
    mainLayout->addLayout(LeftLayout, 0, 0);
    mainLayout->addLayout(RightLayout, 0, 1);
    mainLayout->addLayout(ButtonLayout, 1, 0, 1, 2);//占用1行2列
    mainLayout->setSizeConstraint(QLayout::SetFixedSize);//设置layout大小和控件尺寸一致,使窗口不能更改大小
}

Widget::~Widget()
{

}

界面效果图:

图片资源所存放的路径:

------------------------------------------------------------------------------------------------------------

时间: 2024-11-08 21:23:31

【C/C++学院】(15)QT布局:用户信息的相关文章

黑客15分钟就能窃取到用户信息,使用WIFI要小心

15分钟就能窃取到用户信息 人们越来越熟悉WiFi上网,常常不假思索就登录免费的网络,不过这有可能掉入黑客精心设计的"陷阱".手机安全专家称,黑客通过提供免费WiFi几分钟就能窃取手机用户的私人信息. 最近有报道称,有黑客自爆在一些公共场所提供免费WiFi,用一台电脑.一套无线网络及一个网络包分析软件,设置一个无线热点AP,就能轻松搭建出一个WiFi,不设密码.用户在不知情的情况下一旦连上,黑客15分钟就可以窃取手机上网用户的个人信息和密码."宁可信其有,WiFi有危险,上网

SharePoint 2013 APP开发示例 (二)获取用户信息

这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的  SharePoint 2013 app: UserProfileTest. 3. 选择SharePoint-hosted, 点Finish. 4. 打开Default.aspx : 加入knockoutjs和sp.userprofiles.debug.js(包含user profile的信息): <script type="text/javascript" src=

基于jsp+servlet图书管理系统之后台用户信息插入操作

前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研知识,趁着这学期的结束(马上就要放寒假了),写写最近练习的基于jsp+servlet+前台模板写的图书管理系统,一点一点写吧,详细的注释已经在代码上说明,希望对学习基于java开发的web方向的童鞋有所帮助.今天先把写的用户信息管理的添加(插入)操作分享一下,使用了一些特殊的知识,也会做一下说明.更

手机APP应用获取用户信息问题

几乎所以的手机应用(App)都需要获取用户的手机信息,否则是无法安装的,这当然包括了央视网的App.当然了,央视网的广告位也是可以抓取Cookie信息的.其实拿完了数据,可行善,亦可作恶. 央视3·15晚会将互联网隐私"一鱼三吃"并幻化出APP.Cookies等三个话题,此番本报再度聚焦这些话题,并不为反驳央视的观点,而在于呈现一个真实的互联网隐私现状.值得注意的是,我们的报道中指出,针对APP和Cookies,目前我们的消费者都有选择的权利,用,或不用,都由你说了算!至于作为消费者的

央视曝光网易邮箱窃取用户信息 投放垃圾广告

网易被曝光邮箱涉嫌偷窥用户信息,进行广告营销.受此影响,网易股价今日开盘后即大跌,跌幅一度超5%.业内人士指出,其实很过企业都这么干,包括谷歌在内,因为免费的代价就是隐私. [IT商业新闻网综合报道] (记者 苏黛)3月16日消息,昨晚央视"3.15晚会"曝光了一些企业"灰色"地带,许多企业摊上了大事儿,包括一些科技界的公司.其中网易邮箱被曝光涉嫌偷窥用户信息,进行广告营销.受此影响,网易股价今日开盘后即大跌,跌幅一度超5%. 央视称,即使你足不出户,也有人如影随形

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览  ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装       (5):前台Jquery easyUI实现   (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一       (9):TT摸版的学

基于jsp+servlet图书管理系统之后台用户信息修改操作

上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的是修改操作,附有从头至尾写的代码(详细的注释)和数据库! 此次修改操作的源码和数据库:http://download.csdn.net/detail/biexiansheng/9732691  为了方便理解和说明,先写一下执行的流程和步奏,详细代码可以下载连接. 1:修改操作的执行流程: 1.1:修改操作需要先获取到用户信息的编号,然后才可以进行修改,脑子里一定有这个思路.故获取用户编号的操作即为查询操作.这里使用了一个小工具进行分页操

使用cookie获取用户信息,长时间不用重新登录

问题描述 在login页面:SaveCookie(FormsAuthentication.GetAuthCookie(model.UserName,false),90)publicstaticvoidSaveCookie(HttpCookiecookie,intexpireDays){stringcookieDomain="";stringcurrentURL=HttpContext.Current.Request.Url.AbsoluteUri;RegexmatchNotTLD=ne

用户信息成企业的核心商业机密

透露这位年轻委员的小习惯:每季度更改一次密码 网络已经成了许多人的第二生命,但这片虚拟的生活空间,却并不安全. 今年央视3·15晚会曝光了多家银行网银失窃,银行内部员工被曝泄露出售客户信息,造成受害人损失3000多万元.日常生活中,前段时间诸多大型论坛的大规模个人信息泄露,更让网民们不堪其扰.昨天政协委员范渊的提案<关于加强数据安全和隐私保护管理制度和实施力度的建议>说到了大家的心坎里. 提案讲的是整个数据安全体系,分析了数据泄露对个人.企业甚至对国家造成的危害,并从技术层面.管理层面和立法层

央视315晚会曝光招行等多家银行出现的用户信息泄露事件

摘要: 接到骚扰短信信息泄露,竟然是银行将客户的资料暗自出卖.前天晚上,央视315晚会曝光招行等多家银行出现的用户信息泄露事件,招商银行在官方微博进行道歉,表示对此问题绝不姑 接到骚扰短信信息泄露,竟然是银行将客户的资料暗自出卖.前天晚上,央视"3·15"晚会曝光招行等多家银行出现的用户信息泄露事件,招商银行在官方微博进行道歉,表示对此问题绝不姑息,将严肃处理相关责任人. 在央视"3·15"晚会曝光的情况中,网上银行失窃案是目前许多用户遭遇到的一大问题,其中招商银行