• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-10
  • 语言: 其他
  • 标签: qt  

资源简介

Qt实现窗体在显示屏旁边自动隐藏/显示,类似于QQ实现

资源截图

代码片段和文件信息

#include “dialog.h“
#include “ui_dialog.h“

Dialog::Dialog(QWidget *parent) :
    QDialog(parent)
    ui(new Ui::Dialog)
{
     setWindowFlags(Qt::Tool|Qt::X11BypassWindowManagerHint|Qt::framelessWindowHint|Qt::WindowMinimizeButtonHint);//windows窗口不显示图标
     setWindowIcon(QIcon(“:/picture/qq“));

    ui->setupUi(this);
    animation = new QPropertyAnimation(this“pos“);

    qDebug() << this->pos().x();
    qDebug()<pos().y();
    //animation->setStartValue(QRect(this->pos().x()this->pos().y()this->width()this->height()));
   // animation->setEndValue(QRect(g_nActScreenXthis->pos().y()this->width()this->height()));

    intiaView();
}

Dialog::~Dialog()
{
    delete ui;
}

void Dialog::setOnlineState(){
    ui->btn_state->setstyleSheet(“image: url(:/loginUI/imonline.png);background:transparent;“);
//   switch(index){
//   case 0:
//       ui->btn_state->setstyleSheet(“image: url(:/loginUI/imonline.png);background:transparent;“);
//       break;
//   case 1:
//         ui->btn_state->setstyleSheet(“image: url(:/loginUI/busy.png);background:transparent;“);
//       break;
//   case 2:
//       ui->btn_state->setstyleSheet(“image: url(:/loginUI/invisible.png);background:transparent;“);
//       break;
//   case 3:
//       ui->btn_state->setstyleSheet(“image: url(:/loginUI/away.png);background:transparent;“);
//       break;
//   }
}

void Dialog::setBusyState(){
      ui->btn_state->setstyleSheet(“image: url(:/loginUI/busy.png);background:transparent;“);
}
void Dialog::setInvisibleState(){
     ui->btn_state->setstyleSheet(“image: url(:/loginUI/invisible.png);background:transparent;“);
}
void Dialog::setAwayState(){
    ui->btn_state->setstyleSheet(“image: url(:/loginUI/away.png);background:transparent;“);
}
void Dialog::enterEvent(QEvent *e){
    QRect rc;
    QRect rect;
    rect = this->geometry();
    rc.setRect(rect.x()rect.y()rect.width()rect.height());
    if(rect.top() < 0)
    {
        rect.setX(rc.x());
        rect.setY(0);
        this->move(rc.x() - 2);
    }
   // qDebug() << “in“;
  //  this->show();
}

void Dialog::leaveEvent(QEvent *e){

    QRect *rect = new QRect(this->pos().x()this->pos().y()this->width()this->height());
    QCursor cursor;
    startX  = this->pos().x();
    startY = this->pos().y();
    animation->setStartValue(QPoint(startXstartY));
    animation->setEndValue(QPoint(g_nActScreenXthis->pos().y()));
      animation->setDuration(200);
      if(!(cursor.pos().x() > rect->topLeft().x() &&cursor.pos().y() > rect->topLeft().y() &&cursor.pos().y() < rect->bottomRight().y()) &&this->pos().x() + this->width()+ 30 > g_nActScreenX )
          animation->start();
//    if(this->pos().x() + this->width() + 30 >= g_nActScreenX)
//      animation->start();
     qDebug()<< “outOfWindow“;
}
void Dialog::animationOver(){
    //animation->deleteLater();
   this->setWindowState(Qt::WindowMinimized);
    if(startX + this->w

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     470604  2016-07-19 16:14  QQApplication\debug\dialog.o

     文件     160411  2016-07-19 16:12  QQApplication\debug\imtoolbox.o

     文件     205087  2016-07-19 10:49  QQApplication\debug\imtoolitem.o

     文件     357075  2016-07-17 02:01  QQApplication\debug\main.o

     文件     405398  2016-07-19 15:47  QQApplication\debug\mainwindow.o

     文件       7640  2016-07-19 15:47  QQApplication\debug\moc_dialog.cpp

     文件     190518  2016-07-19 15:47  QQApplication\debug\moc_dialog.o

     文件       2680  2016-07-19 15:47  QQApplication\debug\moc_imtoolbox.cpp

     文件     163582  2016-07-19 15:47  QQApplication\debug\moc_imtoolbox.o

     文件       3415  2016-07-19 00:21  QQApplication\debug\moc_imtoolitem.cpp

     文件     184442  2016-07-19 00:21  QQApplication\debug\moc_imtoolitem.o

     文件       4623  2016-07-17 02:01  QQApplication\debug\moc_mainwindow.cpp

     文件     186877  2016-07-17 02:01  QQApplication\debug\moc_mainwindow.o

     文件       3823  2016-07-19 00:21  QQApplication\debug\moc_qqbutton.cpp

     文件     184621  2016-07-19 00:21  QQApplication\debug\moc_qqbutton.o

     文件       2738  2016-07-19 11:04  QQApplication\debug\moc_qqfrienditem.cpp

     文件     179047  2016-07-19 11:04  QQApplication\debug\moc_qqfrienditem.o

     文件       2622  2016-07-18 11:14  QQApplication\debug\moc_qqitem.cpp

     文件     178565  2016-07-18 11:14  QQApplication\debug\moc_qqitem.o

     文件    3140175  2016-07-19 16:14  QQApplication\debug\QQApplication.exe

     文件     181896  2016-07-19 10:25  QQApplication\debug\qqbutton.o

     文件     158407  2016-07-19 11:04  QQApplication\debug\qqfrienditem.o

     文件     156413  2016-07-18 11:14  QQApplication\debug\qqitem.o

     文件    2152819  2016-07-19 11:28  QQApplication\debug\qrc_pic.cpp

     文件     419065  2016-07-19 11:28  QQApplication\debug\qrc_pic.o

     文件      13019  2016-07-19 16:14  QQApplication\dialog.cpp

     文件       1803  2016-07-19 15:39  QQApplication\dialog.h

     文件      21314  2016-07-19 15:46  QQApplication\dialog.ui

     文件       1125  2016-07-19 16:12  QQApplication\imtoolbox.cpp

     文件        457  2016-07-19 15:47  QQApplication\imtoolbox.h

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

评论

共有 条评论