⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ktvscreencontroller.cpp

📁 QT KTV 源码,QT designer
💻 CPP
字号:
#include "KtvScreenController.h"

KtvScreenController* KtvScreenController::_p_ktv_ctl = 0;

KtvScreenController::KtvScreenController(){
	this->_p_screens = new QStack<QWidget*> ();
	this->_p_widget = 0;
}
KtvScreenController::~KtvScreenController(){
	while(!this->_p_screens->isEmpty())
		delete this->_p_screens->pop();
	if(this->_p_widget) delete this->_p_widget;
}
void KtvScreenController::Forward(QWidget* p_widget){
	if(!this->_p_screens->isEmpty())
		this->_p_screens->top()->hide();
	this->_p_screens->push(p_widget);
	p_widget->show();
}
void KtvScreenController::Replace(QWidget* p_widget){
	if(!this->_p_screens->isEmpty()){
		this->_p_screens->top()->hide();
		if(this->_p_widget) delete this->_p_widget;
		this->_p_widget = this->_p_screens->pop();
	}
	this->_p_screens->push(p_widget);
	p_widget->show();
}
KtvScreenController* KtvScreenController::GetController(){
	if(!KtvScreenController::_p_ktv_ctl)
		KtvScreenController::_p_ktv_ctl = new KtvScreenController();
	return KtvScreenController::_p_ktv_ctl;
}
void KtvScreenController::Back(){
	if(this->_p_screens->size() > 1){
		this->_p_screens->top()->hide();
		if(this->_p_widget){
			delete this->_p_widget;
		}
		this->_p_widget = this->_p_screens->pop();
		this->_p_screens->top()->show();
	}
}
void KtvScreenController::Toggle(){
	if(this->_p_screens->size() < 2) return;
	QWidget* p_widget1 = this->_p_screens->pop();
	p_widget1->hide();
	QWidget* p_widget2 = this->_p_screens->pop();
	p_widget2->show();
	this->_p_screens->push(p_widget1);
	this->_p_screens->push(p_widget2);
}
void KtvScreenController::Home(){
	if(this->_p_screens->size() < 2) return;
	while(this->_p_screens->size() > 1){
		if(this->_p_widget){
			delete this->_p_widget;
		}
		this->_p_widget = this->_p_screens->pop();
		this->_p_widget->hide();
	}
	this->_p_screens->top()->show();
}

⌨️ 快捷键说明

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