資源簡介
這是我寫的一個詞典軟件的源代碼,關于源代碼的相關技術文章可以查看我博客中的《基于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個文件信息
評論
共有 條評論