js鼠标禁止右键,复制,黏贴等功能

禁止鼠标右键:οncοntextmenu="return false";

禁止选择:onselectstart="return false";

禁止拖放:οndragstart="return false";

禁止拷贝:οncοpy=document.selection.empty() 。

禁止保存:<noscript><iframe src="*.htm"></iframe></noscript>,放在head里面。

禁止粘贴:<input type=text οnpaste="return false">

关闭输入法:<input style="ime-mode:disabled">


使用方法:

<div οncοntextmenu="return false"></div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用QT编写QTableWidget选择某片区域右键复制黏贴的程序的示例代码: 首先,在窗口中添加一个QTableWidget控件,并将其命名为tableWidget。 然后在窗口类的构造函数中添加以下代码: ```cpp connect(tableWidget, &QTableWidget::customContextMenuRequested, this, &MainWindow::showContextMenu); //连接右键菜单信号和槽函数 ``` 接下来在窗口类中添加一个槽函数showContextMenu(),用于显示右键菜单: ```cpp void MainWindow::showContextMenu(const QPoint &pos) { QMenu *menu = new QMenu(this); QAction *copyAction = new QAction(tr("Copy"), this); QAction *pasteAction = new QAction(tr("Paste"), this); connect(copyAction, &QAction::triggered, this, &MainWindow::copy); connect(pasteAction, &QAction::triggered, this, &MainWindow::paste); menu->addAction(copyAction); menu->addAction(pasteAction); menu->popup(tableWidget->viewport()->mapToGlobal(pos)); //在鼠标右键位置显示菜单 } ``` 在showContextMenu()函数中,我们创建了一个QMenu对象,并添加了两个QAction对象copyAction和pasteAction。然后我们连接这两个QAction对象的triggered信号到两个槽函数copy()和paste()。最后我们将菜单在鼠标右键位置显示出来。 最后在MainWindow类中添加copy()和paste()两个槽函数,用于处理复制黏贴操作: ```cpp void MainWindow::copy() { QList<QTableWidgetItem*> items = tableWidget->selectedItems(); QString text; for (int i = 0; i < items.count(); i++) { QTableWidgetItem *item = items.at(i); text += item->text(); if (i % tableWidget->columnCount() == tableWidget->columnCount() - 1) text += "\n"; else text += "\t"; } QApplication::clipboard()->setText(text); } void MainWindow::paste() { QString text = QApplication::clipboard()->text(); QStringList rows = text.split("\n"); int row = tableWidget->currentRow(); int column = tableWidget->currentColumn(); for (int i = 0; i < rows.count() && row + i < tableWidget->rowCount(); i++) { QStringList columns = rows.at(i).split("\t"); for (int j = 0; j < columns.count() && column + j < tableWidget->columnCount(); j++) { QTableWidgetItem *item = new QTableWidgetItem(columns.at(j)); tableWidget->setItem(row + i, column + j, item); } } } ``` 在copy()函数中,我们首先获取QTableWidget中被选中的项,然后将这些项的文本按照表格的行列顺序拼接起来,并使用QApplication::clipboard()函数将文本设置到剪贴板中。 在paste()函数中,我们首先获取剪贴板中的文本,然后将文本按照行列分隔开来,并依次将每个单元格的文本设置到QTableWidget中。如果文本中的行列数超过了当前选中单元格的行列数,则从当前选中单元格开始填充。 最后,记得在MainWindow类中添加以下头文件: ```cpp #include <QMenu> #include <QClipboard> #include <QApplication> ``` 这样就完成了QTableWidget选择某片区域右键复制黏贴的程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值