这里用QMenu菜单栏来展示示例一下:
QMenu *m_ProgramBtnGroupMenu;
QAction *m_CopyEffectAction;
添加操作:
m_ProgramBtnGroupMenu = new QMenu(this);
m_ProgramBtnGroupMenu->addAction(tr("复制"), this, SLOT(slotProgramGroupCopy()));
m_CopyEffectAction = m_ProgramBtnGroupMenu->addAction(tr("粘贴"), this, SLOT(slotProgramGroupPost()));
m_CopyEffectAction->setEnabled(false);//加这句了,没复制之前,粘贴是灰色的
//在这里面恢复粘贴按钮的可操作
connect(QApplication::clipboard(),SIGNAL(dataChanged()), this, SLOT(slotClipDataChange()));
void LightEditWidget::slotClipDataChange()
{
QClipboard* clipboard = QApplication::clipboard();
if(clipboard->text().isEmpty()){
m_CopyEffectAction->setEnabled(false);
}else{
m_CopyEffectAction->setEnabled(true);
}
}
复制:
QClipboard* clipboard = QApplication::clipboard();
int iSelectProgramIndex = m_iProgramBtnIndex;
int iStep = m_iCurStep;
QString sText = QString("%1%2").arg(iSelectProgramIndex).arg(iStep);
clipboard->setText(sText);//这里写进去的内容就是后面粘贴的内容,自己按自己的需求来
获取粘贴板的内容:
QClipboard* clipboard = QApplication::clipboard();
QString sText = clipboard->text(QClipboard::Clipboard);