我是PyQT的新手,我刚开始通过这段视频了解它:https://www.youtube.com/watch?v=JBME1ZyHiP8
当我在Ubuntu 14.04上运行代码时
CREATE PROCEDURE userInfo(
in uID int,
out fullname varchar(50),
out NumOrders int(11),
out DVDCount int(11), out VehicleCount int(11))
BEGIN
SELECT concat(firstname, ' ', lastname) INTO fullname
FROM users WHERE userid = uID;
SELECT occupation FROM occupation
JOIN users ON users.occupationid = occupation.occupationid
WHERE userid = uID; // this query
SELECT count(*) INTO NumOrders FROM orderitem
JOIN orders ON orders.orderid = orderitem.orderid
JOIN users ON orders.userid = users.userid
WHERE users.userid = uID;
SELECT count(*) INTO DVDCount FROM userDVD WHERE userid = uID;
SELECT count(*) INTO VehicleCount FROM userVehicle WHERE userid = uID;
END;
窗口装箱只是闪烁并关闭。我如何获得窗口 留下来让我可以与它互动? Youtube视频中的代码 上面在Windows平台上演示了它。我是否必须附加任何特定于我的代码的Ubuntu?
答案 0 :(得分:2)
您没有运行该应用,请将此行添加到结尾:
sys.exit(app.exec_())
int QApplication.exec_()
进入主事件循环并等待直到调用exit(),然后返回设置为exit()的值(如果通过quit()调用exit(),则返回0)。
必须调用此函数才能启动事件处理。主事件循环从窗口系统接收事件并将这些事件分派给应用程序窗口小部件。
通常,在调用exec()之前不能进行任何用户交互。作为一种特殊情况,可以在调用exec()之前使用像QMessageBox这样的模态小部件,因为模态小部件调用exec()来启动本地事件循环。