基于QT的QQ聊天实现文件传输,消息记录在数据库的保存
实习客户端的登录,消息记录在数据库的保存,历史消息记录的查看,文件图像传输
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-28 09:08 client
目录 0 2018-04-28 09:08 clientQQ
文件 14155 2018-03-21 21:38 clientQQ1.jpg
文件 6497 2018-04-25 15:42 clientQQ110.jpg
文件 6411 2018-03-18 17:54 clientQQ123.jpg
文件 6919 2018-04-25 15:45 clientQQ124.jpg
文件 7589 2018-04-25 15:45 clientQQ125.jpg
文件 4383 2018-04-25 14:38 clientQQ126.jpg
文件 8569 2018-04-17 14:12 clientQQ127.jpg
文件 2901 2016-12-22 09:19 clientQQarrow.png
文件 3084 2016-12-22 09:18 clientQQarrow_hover.png
文件 3079 2016-12-22 09:23 clientQQarrow_press.png
文件 3429 2016-12-22 09:47 clientQQarrowback.png
文件 1216750 2016-12-21 21:58 clientQQack.gif
文件 70808 2018-03-21 10:55 clientQQack.jpg
文件 3156 2018-04-25 14:08 clientQQasewindow.cpp
文件 573 2018-04-23 17:27 clientQQasewindow.h
文件 7247 2018-04-27 16:26 clientQQchat.cpp
文件 263 2018-04-23 22:26 clientQQchat.css
文件 1404 2018-04-26 08:36 clientQQchat.h
文件 4247 2018-04-26 08:37 clientQQchat.ui
文件 317 2016-01-21 13:58 clientQQcheckbox.png
文件 2971 2016-12-22 09:32 clientQQclose.png
文件 3120 2016-12-22 09:37 clientQQclose_hover.png
文件 3093 2016-12-22 09:38 clientQQclose_press.png
文件 444 2018-04-09 16:39 clientQQdbinit.cpp
文件 304 2018-04-09 16:38 clientQQdbinit.h
文件 1402 2018-04-09 15:30 clientQQdrawer.cpp
文件 283 2018-04-09 11:33 clientQQdrawer.h
文件 3084 2018-04-27 16:23 clientQQfilethread.cpp
文件 771 2018-04-26 08:36 clientQQfilethread.h
............此处省略50个文件信息
#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 clientQQ
文件 14155 2018-03-21 21:38 clientQQ1.jpg
文件 6497 2018-04-25 15:42 clientQQ110.jpg
文件 6411 2018-03-18 17:54 clientQQ123.jpg
文件 6919 2018-04-25 15:45 clientQQ124.jpg
文件 7589 2018-04-25 15:45 clientQQ125.jpg
文件 4383 2018-04-25 14:38 clientQQ126.jpg
文件 8569 2018-04-17 14:12 clientQQ127.jpg
文件 2901 2016-12-22 09:19 clientQQarrow.png
文件 3084 2016-12-22 09:18 clientQQarrow_hover.png
文件 3079 2016-12-22 09:23 clientQQarrow_press.png
文件 3429 2016-12-22 09:47 clientQQarrowback.png
文件 1216750 2016-12-21 21:58 clientQQack.gif
文件 70808 2018-03-21 10:55 clientQQack.jpg
文件 3156 2018-04-25 14:08 clientQQa
文件 573 2018-04-23 17:27 clientQQa
文件 7247 2018-04-27 16:26 clientQQchat.cpp
文件 263 2018-04-23 22:26 clientQQchat.css
文件 1404 2018-04-26 08:36 clientQQchat.h
文件 4247 2018-04-26 08:37 clientQQchat.ui
文件 317 2016-01-21 13:58 clientQQcheckbox.png
文件 2971 2016-12-22 09:32 clientQQclose.png
文件 3120 2016-12-22 09:37 clientQQclose_hover.png
文件 3093 2016-12-22 09:38 clientQQclose_press.png
文件 444 2018-04-09 16:39 clientQQdbinit.cpp
文件 304 2018-04-09 16:38 clientQQdbinit.h
文件 1402 2018-04-09 15:30 clientQQdrawer.cpp
文件 283 2018-04-09 11:33 clientQQdrawer.h
文件 3084 2018-04-27 16:23 clientQQfilethread.cpp
文件 771 2018-04-26 08:36 clientQQfilethread.h
............此处省略50个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)