poppingtabbar.cpp

来自「Qt开发的GRE背单词软件」· C++ 代码 · 共 42 行

CPP
42
字号
#include "PoppingTabBar.h"
#include "UserSetting.h"
#include "MainWindow.h"
#include <QMouseEvent>

PoppingTabBar::PoppingTabBar(QWidget *parent) : QTabBar(parent) {
	connect(&timer, SIGNAL(timeout()), this, SIGNAL(extend()));
}

void PoppingTabBar::enterEvent(QEvent* event)
{
	if(autoHide())
		timer.start(showDelay() * 1000);
	QTabBar::enterEvent(event);
}

void PoppingTabBar::leaveEvent(QEvent* event)
{
	if(autoHide())
		timer.stop();
	QTabBar::leaveEvent(event);
}

void PoppingTabBar::mouseDoubleClickEvent(QMouseEvent* event) 
{
	emit shrink();
	event->ignore();      // ignore this event
}

void PoppingTabBar::mousePressEvent(QMouseEvent* event)
{
	emit extend();
	QTabBar::mousePressEvent(event);
}

bool PoppingTabBar::autoHide() const {
	return UserSetting::getInstance(MainWindow::userName)->value("LeftPanel/autoHide").toBool();
}

int PoppingTabBar::showDelay() const {
	return UserSetting::getInstance(MainWindow::userName)->value("LeftPanel/showDelay").toInt();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?