我是第一次尝试Qt并且想要创建一个加载网站的非常基本的应用程序.我想使用Qt WebEngine.
这是我的helloworld.pro:
TEMPLATE = app
TARGET = hello
DEPENDPATH += .
INCLUDEPATH += .
QT += webenginewidgets
SOURCES += hello.cpp
Run Code Online (Sandbox Code Playgroud)
这是我的hello.cpp
#include <QApplication>
#include <QtWebEngineWidgets/QtWebEngineWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWebEngineView *view = new QWebEngineView(parent);
view->load(QUrl("http://qt-project.org/"));
view->show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
在尝试编译时,我收到错误:
Project ERROR: Unknown module(s) in QT: QWebEngineView
Project ERROR: Unknown module(s) in QT: webenginewidgets
Run Code Online (Sandbox Code Playgroud)
我想我知道它找不到模块,但是查看qt文档似乎是包含它们的正确方法.
我在Qt 5.5.0上运行QtCreator 3.4.2.
我正在使用PostgreSQL后端运行NodeJS和pg-promise.我创建了自己的TRIGGER,在某些情况下引发异常.事情在这方面很好.
但是使用pg-promise我无法捕获错误的名称.
使用此代码:
...
.catch(function(err) {
console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
[ { success: false,
result:
{ [error: vote_limit_exceeded]
name: 'error',
length: 80,
severity: 'ERROR',
code: 'P0001',
detail: undefined,
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'pl_exec.c',
line: '3068',
routine: 'exec_stmt_raise' } } ]
Run Code Online (Sandbox Code Playgroud)
我可以在上下文中看到名称'vote_limit_exceeded',但是如何作为文本字符串返回?
我尝试过"接近":
console.log(err[0].result);
Run Code Online (Sandbox Code Playgroud)
但是我无法将'vote_limit_exceeded'隔离开来.
关于在nodejs/pg中从多个参数更新多行,我需要运行以下命令:
update portfolios p
set votes = s.votes
from unnest(array[(5, 1), (15, 1), (25, 2)]) s (votes int, id int)
where p.id = s.id
Run Code Online (Sandbox Code Playgroud)
我的数组中的数字是$ 1,如下所示:
update portfolios p
set votes = s.votes
from unnest($1) s (votes int, id int)
where p.id = s.id
Run Code Online (Sandbox Code Playgroud)
但是,我的数组最初由对象组成,如:
[{votes: 5, id: 1}, {votes: 15, id: 1}, {votes: 25, id: 2}]
Run Code Online (Sandbox Code Playgroud)
我试图将其转换为:
my_array = my_array.map(function(e) { return tuple(e.votes, e.id); });
Run Code Online (Sandbox Code Playgroud)
但那失败了.
我需要使用与pg和Client.query一起使用的值来更正兼容的数组.
如何转换我的对象数组以尊重javascript和postgresql的最新情况?
我正在运行 macOS Sierra 和 Python 2.7。
在我的终端中,我安装了 scapy:
pip install scapy
Requirement already satisfied: scapy in /usr/local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
但是运行这个:
from scapy.all import *
for pkt in sniff(iface='en0'):
print pkt
Run Code Online (Sandbox Code Playgroud)
给我这个:
python test.py
Traceback (most recent call last):
File "test.py", line 1, in <module>
from scapy.all import *
ImportError: No module named scapy.all
Run Code Online (Sandbox Code Playgroud)
我试过和谷歌周围,并安装pcapy和其他软件包 - 但没有运气。
我正在尝试在NodeJS/Javascript中解析String到JSON,这是我的字符串(我无法更改,来自外部数据库):
'{\\"value1\\":\\"XYZ\\",\\"value2\\":\\"ZYX\\"}'
Run Code Online (Sandbox Code Playgroud)
我打电话给:
JSON.parse(row.raw_data)
Run Code Online (Sandbox Code Playgroud)
但是得到了:
SyntaxError: Unexpected token \ in JSON at position
Run Code Online (Sandbox Code Playgroud)
我实际上认为双重转义是在字符串/ JSON中转义的正确方法.
我有这个触发器,以确保所有投票的总和不超过100:
CREATE FUNCTION limit_votes() RETURNS TRIGGER AS $limit_votes$
DECLARE
votes_total int;
BEGIN
votes_total := NEW.vote + (SELECT SUM(vote) FROM cars WHERE portfolio_id = NEW.portfolio_id AND car != NEW.car);
IF votes_total > 100 THEN
RAISE EXCEPTION 'votes_limit_exceeded';
END IF;
RETURN NEW;
END;
$limit_votes$ LANGUAGE plpgsql;
CREATE TRIGGER limit_votes BEFORE INSERT OR UPDATE ON cars FOR EACH ROW EXECUTE PROCEDURE limit_votes();
Run Code Online (Sandbox Code Playgroud)
应该提到的是,"投票"可以更新,因此它不仅仅是INSERT.这就是我的问题发生的地方,因为一个用户可以更改汽车之间的投票,然后触发器被发出,因为单个行的更新可能超过100的限制,然后其他更新减少其他投票.
我希望它有意义.
我希望触发器在BEGIN ... COMMIT之后被调用,所以我可以在检查所有内容之前更新多行 - 但是如果用户尝试将投票更新到更多,则还会引发异常而不保存结果100.
我正在测试https://codelabs.developers.google.com/codelabs/webrtc-web/#8并且在本地我的浏览器要求获得使用相机和麦克风的许可 - 一切正常。
当我将代码上传到真实域上的服务器时,我的浏览器不会请求权限,并且我从 getUserMedia() 收到错误,但权限被拒绝。
我怎样才能防止这种情况?
我正在 Google Chrome 中进行测试,但希望该修复程序能够在 Chrome、Firefox 和 Opera 上运行(因为它们支持 WebRTC)。
我在 PostgreSQL 9.4 中有一张表:
user_votes (
user_id int,
portfolio_id int,
car_id int
vote int
)
Run Code Online (Sandbox Code Playgroud)
是否可以在表格上设置约束,以便用户最大可以在每个投资组合中投票 99 分?这意味着一个用户可以有多个行,由相同的 user_id 和portfolio_id 组成,但不同的car_id 和vote。票数总和不能超过 99,但可以放在不同的车之间。
这样做:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 1, 20),
(1, 1, 7, 40),
(1, 1, 9, 25)
Run Code Online (Sandbox Code Playgroud)
都将被允许,但是当尝试添加超过 99 票的内容时应该会失败,例如另一行:
INSERT INTO user_vores (user_id, portfolio_id, car_id, vote) VALUES
(1, 1, 21, 40)
Run Code Online (Sandbox Code Playgroud) 我正在运行 nodejs 和 pg-promise,并且想使用批处理函数来创建一个带有 BEGIN 和 COMMIT 围绕多个 UPDATE 的事务。
这是我的代码:
db.tx(function (t) {
return this.batch(function() {
for (var i = 0; i < cars.length; i++) {
return db.any('UPDATE ... ', [car_id, cars[i].votes]);
}
});
})
Run Code Online (Sandbox Code Playgroud)
然而,它似乎不起作用,因为什么也没有发生。难道不能为这样的输入创建我的批处理列表吗?
我仍在学习AngularJS,并且以前一直在使用jQuery等来归档相同的感觉。
我有一个登录功能,如果登录成功,则该用户将重定向用户,否则就象现在一样打印到控制台。如果密码不正确,我想“摇晃” form-html-DOM。
这是我在控制器中的代码:
user.login(self.username, self.password).then(
function(res) {
$location.path('/dashboard');
}, function(res) {
console.log(res.data.error);
}
);
Run Code Online (Sandbox Code Playgroud)
使用jQuery,我会做类似的事情:
user.login(self.username, self.password).then(
function(res) {
$location.path('/dashboard');
}, function(res) {
$("#my-login-form").shake();
}
);
Run Code Online (Sandbox Code Playgroud)
对于AngularJS,这当然不好。做类似事情的最简单,最好的方法是什么?我试图阅读ngAnimate文档,但需要更好的理解/类似的例子。
出于某种原因,我有点迷失在如何存档:
SELECT * FROM table WHERE timestamp IS WITHIN THIS MONTH;
Run Code Online (Sandbox Code Playgroud)
我查看了https://www.postgresql.org/docs/9.4/static/functions-datetime.html,但只能向后选择X天.
我正在运行PostgreSQL 9.4
postgresql ×6
javascript ×5
node.js ×4
pg-promise ×2
angularjs ×1
arrays ×1
c++ ×1
html ×1
jquery ×1
json ×1
macos ×1
ng-animate ×1
python ×1
qt ×1
qt-creator ×1
qtwebengine ×1
scapy ×1
sql ×1
webrtc ×1