QT 登录界面 仿QQ


采用QT开发 登录界面 仿QQ,相似度接近百分99,搜集网上资源整合开发。
资源截图
代码片段和文件信息
#include “basewindow.h“
#include 
#include 
#include 
#include 
#include yleOption>

baseWindow::baseWindow(QWidget *parent)
: QDialog(parent)
{
// framelessWindowHint属性设置窗口去除边框;
// WindowMinimizeButtonHint 属性设置在窗口最小化时,点击任务栏窗口可以显示出原窗口;
//Qt::WindowFlags flag = this->windowFlags();
this->setWindowFlags(Qt::framelessWindowHint | Qt::WindowMinimizeButtonHint);
// 设置窗口背景透明;
setAttribute(Qt::WA_TranslucentBackground);
// 关闭窗口时释放资源;
//setAttribute(Qt::WA_DeleteOnClose);
// 初始化标题栏;
inittitleBar();
}

baseWindow::~baseWindow()
{

}

void baseWindow::inittitleBar()
{
m_titleBar = new MytitleBar(this);
m_titleBar->move(0 0);

connect(m_titleBar SIGNAL(signalButtonMinClicked()) this SLOT(onButtonMinClicked()));
connect(m_titleBar SIGNAL(signalButtonRestoreClicked()) this SLOT(onButtonRestoreClicked()));
connect(m_titleBar SIGNAL(signalButtonMaxClicked()) this SLOT(onButtonMaxClicked()));
connect(m_titleBar SIGNAL(signalButtonCloseClicked()) this SLOT(onButtonCloseClicked()));

}

void baseWindow::paintEvent(QPaintEvent* event)
{
Q_UNUSED(event);
QstyleOption opt;
opt.init(this);
QPainter painter(this);
style()->drawPrimitive(Qstyle::PE_Widget &opt &painter this);

//设置背景色;

QPainterPath pathBack;
pathBack.setFillRule(Qt::WindingFill);
pathBack.addRoundedRect(QRect(0 0 this->width() this->height()) 3 3);
painter.setRenderHint(QPainter::SmoothPixmapTransform true);
painter.fillPath(pathBack QBrush(QColor(236 241 245)));

// return QWidget::paintEvent(event);
}

void baseWindow::loadstyleSheet(const QString &sheetName)
{
QFile file(sheetName);
file.open(QFile::ReadOnly);
if (file.isOpen())
{
QString styleSheet = this->styleSheet();
styleSheet += QLatin1String(file.readAll());
this->setstyleSheet(styleSheet);
}
}

void baseWindow::onButtonMinClicked()
{
if (Qt::Tool == (windowFlags() & Qt::Tool))
{
hide();    //设置了Qt::Tool 如果调用showMinimized()则窗口就销毁了???
}
else
{
showMinimized();
}
}

void baseWindow::onButtonRestoreClicked()
{
QPoint windowPos;
QSize windowSize;
m_titleBar->getRestoreInfo(windowPos windowSize);
this->setGeometry(QRect(windowPos windowSize));
}

void baseWindow::onButtonMaxClicked()
{
m_titleBar->saveRestoreInfo(this->pos() QSize(this->width() this->height()));
QRect desktopRect = QApplication::desktop()->availableGeometry();
QRect FactRect = QRect(desktopRect.x() - 3 desktopRect.y() - 3 desktopRect.width() + 6 desktopRect.height() + 6);
setGeometry(FactRect);
}

void baseWindow::onButtonCloseClicked()
{
// 注意 !!!;
// 如果设置了Qt::Tool 且当前窗口为主窗口调用close()方法只是关闭了当前窗口,并没有结束整个程序进程;
// 如果只有一个窗口情况下需要调用qApp->quit();来结束进程;
// 如果设置了Qt::Tool的窗口是子窗口,则只需要调用close()方法关闭即可;
//  if (Qt::Tool == (windowFlags() & Qt::Tool))
//  {
//  qApp->quit();
//  }
//  else
{
close();
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3145  2016-12-22 10:46  LoginWindowLoginWindowasewindow.cpp

     文件        543  2016-12-21 21:05  LoginWindowLoginWindowasewindow.h

     文件       4060  2016-12-22 18:46  LoginWindowLoginWindowGeneratedFilesDebugmoc_basewindow.cpp

     文件       2734  2016-12-22 18:46  LoginWindowLoginWindowGeneratedFilesDebugmoc_loginwindow.cpp

     文件       6756  2016-12-22 18:46  LoginWindowLoginWindowGeneratedFilesDebugmoc_mytitlebar.cpp

     文件    6556315  2016-12-22 18:46  LoginWindowLoginWindowGeneratedFilesqrc_loginwindow.cpp

     文件       8065  2016-12-22 18:46  LoginWindowLoginWindowGeneratedFilesui_loginwindow.h

     文件       2079  2016-12-22 18:47  LoginWindowLoginWindowloginwindow.cpp

     文件        646  2016-12-22 18:33  LoginWindowLoginWindowloginwindow.h

     文件       1236  2016-12-22 17:00  LoginWindowLoginWindowloginwindow.qrc

     文件       8157  2016-12-22 17:13  LoginWindowLoginWindowloginwindow.ui

     文件      14722  2016-12-22 18:47  LoginWindowLoginWindowLoginWindow.vcxproj

     文件       3631  2016-12-22 18:47  LoginWindowLoginWindowLoginWindow.vcxproj.filters

     文件        659  2016-12-22 16:21  LoginWindowLoginWindowLoginWindow.vcxproj.user

     文件        181  2016-12-21 20:44  LoginWindowLoginWindowmain.cpp

     文件       8021  2016-12-22 09:53  LoginWindowLoginWindowmytitlebar.cpp

     文件       2567  2016-12-21 21:10  LoginWindowLoginWindowmytitlebar.h

     文件       3429  2016-12-22 09:47  LoginWindowLoginWindowResourcesLoginWindowarrowback.png

     文件    1216750  2016-12-21 21:58  LoginWindowLoginWindowResourcesLoginWindowack.gif

     文件        317  2016-01-21 13:58  LoginWindowLoginWindowResourcesLoginWindowcheckbox.png

     文件        296  2016-01-21 15:23  LoginWindowLoginWindowResourcesLoginWindowdrop_down_Button.png

     文件        516  2016-01-21 14:02  LoginWindowLoginWindowResourcesLoginWindowflicker.png

     文件       8840  2016-12-22 10:10  LoginWindowLoginWindowResourcesLoginWindowHeadImage.png

     文件       3360  2016-12-22 16:59  LoginWindowLoginWindowResourcesLoginWindowkeyboard.png

     文件       2966  2016-12-22 16:12  LoginWindowLoginWindowResourcesLoginWindowkeyboard_hover.png

     文件       2964  2016-12-22 16:14  LoginWindowLoginWindowResourcesLoginWindowkeyboard_press.png

     文件       3201  2016-12-22 10:28  LoginWindowLoginWindowResourcesLoginWindowLoginStatestate_away.png

     文件       3093  2016-12-22 10:31  LoginWindowLoginWindowResourcesLoginWindowLoginStatestate_busy.png

     文件       3087  2016-12-22 10:34  LoginWindowLoginWindowResourcesLoginWindowLoginStatestate_hide.png

     文件       3236  2016-12-22 10:35  LoginWindowLoginWindowResourcesLoginWindowLoginStatestate_notdisturb.png

............此处省略41个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)