使用以下我们可以在IE中禁用
<body onload=setInterval("window.clipboardData.setData('text','')",2)
oncontextmenu="return false" onselectstart="return false">
Run Code Online (Sandbox Code Playgroud)
但这些在Mozilla,Chrome和其他产品中都不起作用
一些人可以提出一个更好的主意
我在使用MediaPlayer的Android Service类中有此代码部分。当我启动播放器并在播放了一段时间后(为了模拟网络错误)将手机转到飞行模式时,onCompletion
监听器会在一段时间后触发。但是onError
不会触发任何IO错误。
此外,当将网络从Wi-Fi更改为3G并返回时,流将停止,但是没有错误,onCompletion
也无法正常工作!尽管播放已停止。为什么会这样?代码有什么问题?这可以取决于电话吗?Android 2.3.5,HTC Explorer。显然,播放已停止,但没有错误,onCompletion
也不会触发。
public class PlayerService extends Service implements MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener {
///
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
this.playlist="ONERROR";
switch (what){
case MediaPlayer.MEDIA_ERROR_UNKNOWN:
Log.e(TAG2, "unknown media playback error");
break;
case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
Log.e(TAG2, "server connection died");
default:
Log.e(TAG2, "generic audio playback error");
break;
}
switch (extra){
case MediaPlayer.MEDIA_ERROR_IO:
Log.e(TAG2, "IO media error");
break;
case MediaPlayer.MEDIA_ERROR_MALFORMED:
Log.e(TAG2, "media error, malformed");
break;
case …
Run Code Online (Sandbox Code Playgroud) 我开发了一款应用程序,它充分利用了原生Android的MediaPlayer.我的班级使用Media Player的源代码如下.问题是只有在播放几毫秒之后的某些设备上(我只听到声音,屏幕仍然是黑色的)我不断收到错误(100,0)根据文件说 http://developer.android.com/reference /android/media/MediaPlayer.html#MEDIA_ERROR_SERVER_DIED
在论坛上我发现我每次拿到它都需要重置播放器......但是我在短时间内得到它然后它永远消失了.由于播放无用,我无法每秒重置播放器.我不明白为什么有些设备会出现这个问题而其他设备却没有.我知道的那个有Android操作系统> 4.0.
当然首先调用init()然后再调用showVideo().调用带有100个代码的最后一个onError.什么是一个潜在的解决方案,使流运行,并在一会儿后不要破坏...
提前致谢
public class NativePlayer extends Player implements OnBufferingUpdateListener,
OnCompletionListener, OnErrorListener, OnInfoListener {
private VideoView videoview;
private PlayerListener listener;
private MainActivity context;
private final Logger logger = LoggerFactory.getLogger(NativePlayer.class);
@Override
public void init(MainActivity activity) {
this.videoview = (VideoView) activity.findViewById(R.id.video);
context = activity;
}
@Override
public void showVideo(final String url, final PlayerListener _listener) {
listener = _listener;
videoview.setVisibility(View.VISIBLE);
try {
Uri video = Uri.parse(url);
videoview.setVideoURI(video);
} catch (Exception e) {
logger.error("Error playing video", e);
listener.onVideoError();
return; …
Run Code Online (Sandbox Code Playgroud) 我是 Python 新手,我正在尝试学习如何使用类。有谁知道为什么这不起作用?任何有关关键字“self”的其他提示将不胜感激。
代码:
class Enemy:
life = 3
def attack(self):
print('ouch!')
self.life -= 1
def checkLife(self):
if self.life <= 0:
print('I am dead')
else:
print(str(self.life) + "life left")
enemy1 = Enemy
enemy1.attack()
enemy1.checkLife()
Run Code Online (Sandbox Code Playgroud)
错误:
C:\Users\Liam\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Liam/PycharmProjects/YouTube/first.py
Traceback (most recent call last):
File "C:/Users/Liam/PycharmProjects/YouTube/first.py", line 16, in <module>
enemy1.attack()
TypeError: attack() missing 1 required positional argument: 'self'
Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud) 我知道连接字符串列表的pythonic方法是使用
l =["a", "b", "c"]
"".join(l)
Run Code Online (Sandbox Code Playgroud)
但是,如果我有一个包含字符串(作为属性)的对象列表,而不重新分配字符串,我该怎么做呢?
我想我可以实施
__str__(self)
.但这是我不愿意使用的解决方法.
我有一个100个随机整数的列表.每个随机整数的值都是0到99.允许重复,因此列表可能是这样的
56, 1, 1, 1, 1, 0, 2, 6, 99...
Run Code Online (Sandbox Code Playgroud)
我需要找到列表中未包含的最小整数(> = 0).
我最初的解决方案是:
vector<int> integerList(100); //list of random integers
...
vector<bool> listedIntegers(101, false);
for (int theInt : integerList)
{
listedIntegers[theInt] = true;
}
int smallestInt;
for (int j = 0; j < 101; j++)
{
if (!listedIntegers[j])
{
smallestInt = j;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但这需要一个二级数组用于簿记和第二个(可能是完整的)列表迭代.我需要执行这个任务数百万次(实际的应用程序是一个贪婪的图形着色算法,我需要找到一个顶点邻接列表中最小的未使用的颜色值),所以我想知道是否有一个聪明的方法来获取没有那么多开销的相同结果?
我在Qt中有一个数据库。它有四个表:主组,子组,零件和位置。这是我的数据库:
CREATE TABLE `maingroup` (
`groupName`TEXT NOT NULL UNIQUE,
PRIMARY KEY(`groupName`)
);
CREATE TABLE `subgroup` (
`sub` TEXT NOT NULL UNIQUE,
`main` TEXT NOT NULL,
PRIMARY KEY(`sub`),
FOREIGN KEY(`main`) REFERENCES `maingroup`(`groupName`) ON DELETE CASCADE
);
CREATE TABLE `parts` (
`ID` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`Part_Number` TEXT,
`Type` TEXT NOT NULL,
`Value` TEXT,
`Voltage` TEXT,
`Quantity` TEXT,
`Position` TEXT,
`Picture` TEXT,
FOREIGN KEY(`Position`) REFERENCES `Position`(`Poistion`) ON DELETE CASCADE,
FOREIGN KEY(`Type`) REFERENCES `subgroup`(`sub`) ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)
表部分中的类型是外键,指的是表子组中的列子。表子组中的main是外键,指的是表主组中的列组名。我的问题是,当我delete …
我必须创建一个迷宫游戏,该迷宫游戏接收来自用户的命令作为玩游戏。我已经为迷宫游戏编写了代码。我要修改的是仅在将迷宫打印给用户时(进行移动之后)显示迷宫的一部分。这是我的迷宫:
level = [
["1"," ","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1"],
["1"," "," ","1","1","1","1","1","1","1"," "," "," "," "," "," "," "," "," "," ","1","1","1","1","1"],
["1"," "," ","1","1","1","1","1","1","1"," "," ","1","1","1","1","1","1"," "," ","1","1","1","1","1"],
["1"," "," "," "," "," "," "," ","1","1"," "," ","1","1","1","1","1","1"," "," ","1","1","1","1","1"],
["1"," "," "," "," "," "," "," ","1","1"," "," ","1","1","1"," "," "," "," "," "," "," "," ","1","1"],
["1"," ","1","1","1","1"," "," ","1","1"," "," ","1","1","1"," "," "," "," "," "," "," "," ","1","1"],
["1"," ","1","1","1","1"," "," ","1","1"," "," ","1","1","1","1","1","1"," "," ","1","1","1","1","1"], …
Run Code Online (Sandbox Code Playgroud) 我创建了一个基于 QAbstractTableModel 的模型,允许用户编辑该模型中的数据。该模型显示在 QMainWindow 中的 QTableView 中。到目前为止,在我的模型中,我能够使单元格可编辑,并在编辑完成后保存用户输入的任何内容。
问题是当用户开始编辑时,它会“清除”该单元格的先前内容。因此,例如,如果我只想更改单元格中字符串的拼写,则必须重新键入整个值。我希望在编辑时编辑器将从模型中已有的数据开始,而不是空的。
我怎样才能做到这一点?
问题示例:
在我开始编辑单元格之前:
我一开始编辑,单元格就是空的。我希望它以模型中已有的先前值作为星标:
这是我的模型的最小示例。我的实际模型要大得多,并且使用结构而不是 QVariants 的二维数组来存储数据。
标题:
const int COLS= 2;
const int ROWS= 6;
class EditableTableModel : public QAbstractTableModel
{
Q_OBJECT
private:
QVariant tableData[ROWS][COLS];
public:
EditableTableModel(QObject *parent = nullptr);
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
QVariant headerData(int section, …
Run Code Online (Sandbox Code Playgroud) 我尝试使用在节点js上安装argon 2 npm install argon2 --save
。我认为 python (不知道为什么)或 node-gyp 有问题。
PS C:\angular\backend> npm install argon2 --save
> argon2@0.21.0 install C:\angular\backend\node_modules\argon2
> node-gyp rebuild
C:\angular\backend\node_modules\argon2>if not defined npm_config_node_gyp (node "C:\Users\matan\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Users\matan\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Command failed: C:\Users\matan\Anaconda3\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack File "<string>", line 1
gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^
gyp ERR! stack SyntaxError: invalid …
Run Code Online (Sandbox Code Playgroud)