• 大小: 4.2MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-07
  • 语言: 其他
  • 标签: 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  LoginWindow\LoginWindow\basewindow.cpp

     文件        543  2016-12-21 21:05  LoginWindow\LoginWindow\basewindow.h

     文件       4060  2016-12-22 18:46  LoginWindow\LoginWindow\GeneratedFiles\Debug\moc_basewindow.cpp

     文件       2734  2016-12-22 18:46  LoginWindow\LoginWindow\GeneratedFiles\Debug\moc_loginwindow.cpp

     文件       6756  2016-12-22 18:46  LoginWindow\LoginWindow\GeneratedFiles\Debug\moc_mytitlebar.cpp

     文件    6556315  2016-12-22 18:46  LoginWindow\LoginWindow\GeneratedFiles\qrc_loginwindow.cpp

     文件       8065  2016-12-22 18:46  LoginWindow\LoginWindow\GeneratedFiles\ui_loginwindow.h

     文件       2079  2016-12-22 18:47  LoginWindow\LoginWindow\loginwindow.cpp

     文件        646  2016-12-22 18:33  LoginWindow\LoginWindow\loginwindow.h

     文件       1236  2016-12-22 17:00  LoginWindow\LoginWindow\loginwindow.qrc

     文件       8157  2016-12-22 17:13  LoginWindow\LoginWindow\loginwindow.ui

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

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

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

     文件        181  2016-12-21 20:44  LoginWindow\LoginWindow\main.cpp

     文件       8021  2016-12-22 09:53  LoginWindow\LoginWindow\mytitlebar.cpp

     文件       2567  2016-12-21 21:10  LoginWindow\LoginWindow\mytitlebar.h

     文件       3429  2016-12-22 09:47  LoginWindow\LoginWindow\Resources\LoginWindow\arrowback.png

     文件    1216750  2016-12-21 21:58  LoginWindow\LoginWindow\Resources\LoginWindow\back.gif

     文件        317  2016-01-21 13:58  LoginWindow\LoginWindow\Resources\LoginWindow\checkbox.png

     文件        296  2016-01-21 15:23  LoginWindow\LoginWindow\Resources\LoginWindow\drop_down_Button.png

     文件        516  2016-01-21 14:02  LoginWindow\LoginWindow\Resources\LoginWindow\flicker.png

     文件       8840  2016-12-22 10:10  LoginWindow\LoginWindow\Resources\LoginWindow\HeadImage.png

     文件       3360  2016-12-22 16:59  LoginWindow\LoginWindow\Resources\LoginWindow\keyboard.png

     文件       2966  2016-12-22 16:12  LoginWindow\LoginWindow\Resources\LoginWindow\keyboard_hover.png

     文件       2964  2016-12-22 16:14  LoginWindow\LoginWindow\Resources\LoginWindow\keyboard_press.png

     文件       3201  2016-12-22 10:28  LoginWindow\LoginWindow\Resources\LoginWindow\LoginState\state_away.png

     文件       3093  2016-12-22 10:31  LoginWindow\LoginWindow\Resources\LoginWindow\LoginState\state_busy.png

     文件       3087  2016-12-22 10:34  LoginWindow\LoginWindow\Resources\LoginWindow\LoginState\state_hide.png

     文件       3236  2016-12-22 10:35  LoginWindow\LoginWindow\Resources\LoginWindow\LoginState\state_notdisturb.png

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

评论

共有 条评论