资源简介
这是我写的一个词典软件的源代码,关于源代码的相关技术文章可以查看我博客中的《基于Qt的词典开发系列》专栏。
代码片段和文件信息
#include “basicwindow.h“
#include “ui_basicwindow.h“
BasicWindow::BasicWindow(QWidget *parent) :
QWidget(parent)
ui(new Ui::BasicWindow)
{
ui->setupUi(this);
this->setMouseTracking(true);
//设置在不按鼠标的情况下也触发鼠标移动事件,注意QMainWindow的情况:centralWidget()->setMouseTracking(true);
isLeftPressed=false;//左键是否按下标志
curPos=0;//标记鼠标左击时的位置
this->setMinimumSize(400300);//设置最小尺寸
QCursor cursor;
cursor.setShape(Qt::ArrowCursor);//设置鼠标为箭头形状
// ui->pushButton->setCursor(cursor);//当放在按钮上时,为箭头
// cursor.setShape(Qt::OpenHandCursor);
QWidget::setCursor(cursor);//当放在主窗口上时,为手形
// qDebug()<<“h=“<height();
setWindowFlags(Qt::framelessWindowHint);//设置主窗口无边框
// qDebug()<minimumHeight();
}
BasicWindow::~BasicWindow()
{
delete ui;
}
int BasicWindow::countFlag(QPoint p int row)//计算当前鼠标在哪个区域
{
if(p.y() return 10+row;
else if(p.y()>this->height()-MARGIN)
return 30+row;
else
return 20+row;
}
void BasicWindow::setCursorType(int flag)
{
Qt::CursorShape cursor;
switch(flag)
{
case 11:
case 33:
cursor=Qt::SizeFDiagCursor;break;
case 13:
case 31:
cursor=Qt::SizeBDiagCursor;break;
case 21:
case 23:
cursor=Qt::SizeHorCursor;break;
case 12:
case 32:
cursor=Qt::SizeVerCursor;break;
case 22:
cursor=Qt::ArrowCursor;break;
default:
// QApplication::restoreOverrideCursor();//恢复鼠标指针性状
cursor=Qt::ArrowCursor;
break;
}
setCursor(cursor);
}
int BasicWindow::countRow(QPoint p)
{
return (p.x()(this->width()-MARGIN)?3:2);
}
void BasicWindow::mousePressEvent(QMouseEvent *event)
{
emit movesignal();
if(event->button()==Qt::LeftButton)
{
this->isLeftPressed=true;
QCursor cursor;
cursor.setShape(Qt::ClosedHandCursor);
QApplication::setOverrideCursor(cursor);//改变鼠标指针形状
QPoint temp=event->globalPos();
pLast=temp;
curPos=countFlag(event->pos()countRow(event->pos()));
event->ignore();
}
}
void BasicWindow::mouseReleaseEvent(QMouseEvent *event)
{
if(isLeftPressed)
isLeftPressed=false;
QApplication::restoreOverrideCursor();//恢复鼠标指针性状
event->ignore();
}
void BasicWindow::mouseDoubleClickEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
if(windowState()!=Qt::WindowFullScreen)
setWindowState(Qt::WindowFullScreen);
else setWindowState(Qt::WindowNoState);//恢复正常模式
}
event->ignore();
}
void BasicWindow::mouseMoveEvent(QMouseEvent *event)
{
int poss=countFlag(event->pos()countRow(event->pos()));
// qDebug()<<“pos=“< setCursorType(poss);
if(isLeftPre
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4341 2014-08-14 19:51 我爱查词典源文件\Dictionary\basicwindow.cpp
文件 816 2014-08-10 17:15 我爱查词典源文件\Dictionary\basicwindow.h
文件 413 2014-08-03 15:52 我爱查词典源文件\Dictionary\basicwindow.ui
文件 3794 2014-08-15 21:35 我爱查词典源文件\Dictionary\completelineedit.cpp
文件 876 2014-08-13 17:31 我爱查词典源文件\Dictionary\completelineedit.h
文件 1053 2014-08-22 11:01 我爱查词典源文件\Dictionary\Dictionary.pro
文件 17843 2014-08-25 10:57 我爱查词典源文件\Dictionary\Dictionary.pro.user.2.7pre1
文件 1039704 2014-08-09 16:49 我爱查词典源文件\Dictionary\EnglishTongYi.txt
文件 3541 2014-08-15 17:14 我爱查词典源文件\Dictionary\Images.qrc
文件 2564 2014-08-15 18:21 我爱查词典源文件\Dictionary\libmanager.cpp
文件 1081 2014-08-13 09:51 我爱查词典源文件\Dictionary\libmanager.h
文件 9000 2014-08-12 19:29 我爱查词典源文件\Dictionary\libmanager.ui
文件 5328 2014-08-15 18:21 我爱查词典源文件\Dictionary\localdict.cpp
文件 610 2014-08-12 20:04 我爱查词典源文件\Dictionary\localdict.h
文件 2556 2014-08-15 18:21 我爱查词典源文件\Dictionary\logindialog.cpp
文件 982 2014-08-13 17:46 我爱查词典源文件\Dictionary\logindialog.h
文件 17259 2014-08-05 20:00 我爱查词典源文件\Dictionary\logindialog.ui
文件 1172 2014-08-15 11:05 我爱查词典源文件\Dictionary\main.cpp
文件 67646 2014-08-22 11:03 我爱查词典源文件\Dictionary\myico.ico
文件 38 2014-08-22 11:00 我爱查词典源文件\Dictionary\myico.rc
文件 9699 2014-08-15 18:21 我爱查词典源文件\Dictionary\network.cpp
文件 1564 2014-08-13 11:08 我爱查词典源文件\Dictionary\network.h
文件 853 2014-08-07 21:39 我爱查词典源文件\Dictionary\qmenubutton.cpp
文件 330 2014-08-07 20:27 我爱查词典源文件\Dictionary\qmenubutton.h
文件 551 2014-07-02 14:45 我爱查词典源文件\Dictionary\searchwindow\added.png
文件 315 2010-03-29 11:55 我爱查词典源文件\Dictionary\searchwindow\add_hover.png
文件 21110 2014-08-06 10:54 我爱查词典源文件\Dictionary\searchwindow\add_normal.png
文件 254 2013-07-20 23:11 我爱查词典源文件\Dictionary\searchwindow\add_white.png
文件 758 2013-07-20 23:11 我爱查词典源文件\Dictionary\searchwindow\aminus_hover.png
文件 938 2013-07-20 23:11 我爱查词典源文件\Dictionary\searchwindow\aminus_normal.png
............此处省略105个文件信息
评论
共有 条评论