예제 #1
0
bool MainWindow::eventFilter(QObject *obj, QEvent *ev)
{
	if (obj == view)
	{
		if (ev->type() == QEvent::KeyPress)
		{
			QKeyEvent *keyEvent = static_cast<QKeyEvent *>(ev);
			switch (keyEvent->key())
			{
			case Qt::Key_Enter:
			case Qt::Key_Return:
				on_actionLaunchInstance_triggered();
				return true;
			case Qt::Key_Delete:
				on_actionDeleteInstance_triggered();
				return true;
			case Qt::Key_F5:
				on_actionRefresh_triggered();
				return true;
			case Qt::Key_F2:
				on_actionRenameInstance_triggered();
				return true;
			default:
				break;
			}
		}
	}
	return QMainWindow::eventFilter(obj, ev);
}
예제 #2
0
void MainWindow::keyPressEvent(QKeyEvent *event)
{
    QWidget::keyPressEvent(event);
    if (event->key() == Qt::Key_C && (event->modifiers() & Qt::ControlModifier))
    {
        View *view = (View *)ui->treeWidget->currentItem();
        if(view){
            if(copyView != view)
            {
                if(copyView){
                    delete copyView;
                }
                copyView = view->copyView();
                LOG("拷贝"+copyView->getClassName() + ":" + copyView->getID());
            }
        }
    }
    else if (event->key() == Qt::Key_V && (event->modifiers() & Qt::ControlModifier))
    {
        if(copyView){
            LOG("粘贴"+copyView->getClassName() + ":" + copyView->getID());
            View *parenview = (View *)ui->treeWidget->currentItem();
            if(parenview){
                View *view = copyView;
                parenview->addSubView(view);
                UIEditWidget *uiedit = (UIEditWidget*)ui->tabWidget->currentWidget();
                uiedit->refreshScene();
                copyView = NULL;
            }
        }
    }
    else if (event->key() == Qt::Key_S && (event->modifiers() & Qt::ControlModifier))
    {
        on_action_savexml_triggered();
    }else if(event->key() == Qt::Key_F5){
        on_actionRefresh_triggered();
    }else if(event->key() == Qt::Key_Delete || event->key() == Qt::Key_Backspace){
        deleteSelectedView();
    }
    else if(event->key() == Qt::Key_F && (event->modifiers() & Qt::ControlModifier)){
        qDebug() << "查找";
    }
}