• 大小: 1.38MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-28
  • 语言: 其他
  • 标签: qt  

资源简介

实习客户端的登录,消息记录在数据库的保存,历史消息记录的查看,文件图像传输

资源截图

代码片段和文件信息

#include “basewindow.h“
#include 
#include 
#include 
#include 
#include yleOption>

baseWindow::baseWindow(QWidget *parent)
    : QDialog(parent)
{
    this->setWindowFlags(Qt::framelessWindowHint | Qt::WindowMinimizeButtonHint);
    setAttribute(Qt::WA_TranslucentBackground);
    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();
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-28 09:08  client\
     目录           0  2018-04-28 09:08  client\QQ\
     文件       14155  2018-03-21 21:38  client\QQ\1.jpg
     文件        6497  2018-04-25 15:42  client\QQ\110.jpg
     文件        6411  2018-03-18 17:54  client\QQ\123.jpg
     文件        6919  2018-04-25 15:45  client\QQ\124.jpg
     文件        7589  2018-04-25 15:45  client\QQ\125.jpg
     文件        4383  2018-04-25 14:38  client\QQ\126.jpg
     文件        8569  2018-04-17 14:12  client\QQ\127.jpg
     文件        2901  2016-12-22 09:19  client\QQ\arrow.png
     文件        3084  2016-12-22 09:18  client\QQ\arrow_hover.png
     文件        3079  2016-12-22 09:23  client\QQ\arrow_press.png
     文件        3429  2016-12-22 09:47  client\QQ\arrowback.png
     文件     1216750  2016-12-21 21:58  client\QQ\back.gif
     文件       70808  2018-03-21 10:55  client\QQ\back.jpg
     文件        3156  2018-04-25 14:08  client\QQ\basewindow.cpp
     文件         573  2018-04-23 17:27  client\QQ\basewindow.h
     文件        7247  2018-04-27 16:26  client\QQ\chat.cpp
     文件         263  2018-04-23 22:26  client\QQ\chat.css
     文件        1404  2018-04-26 08:36  client\QQ\chat.h
     文件        4247  2018-04-26 08:37  client\QQ\chat.ui
     文件         317  2016-01-21 13:58  client\QQ\checkbox.png
     文件        2971  2016-12-22 09:32  client\QQ\close.png
     文件        3120  2016-12-22 09:37  client\QQ\close_hover.png
     文件        3093  2016-12-22 09:38  client\QQ\close_press.png
     文件         444  2018-04-09 16:39  client\QQ\dbinit.cpp
     文件         304  2018-04-09 16:38  client\QQ\dbinit.h
     文件        1402  2018-04-09 15:30  client\QQ\drawer.cpp
     文件         283  2018-04-09 11:33  client\QQ\drawer.h
     文件        3084  2018-04-27 16:23  client\QQ\filethread.cpp
     文件         771  2018-04-26 08:36  client\QQ\filethread.h
............此处省略50个文件信息

评论

共有 条评论