- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在Qt的经验大约有两个星期,如果我碰巧问一个愚蠢的问题,请原谅。
我的程序使用基于QtQuick的GUI。我在main.cpp中初始化它
#include <QGuiApplication>
#include <QtQuick/QQuickView>
#include "VeryVeryImportantItem.h"
extern
int main(int argc, char * argv[])
{
qmlRegisterType<VeryVeryImportantItem>("com.my.stuff", 1, 0, "VeryVeryImportantItem");
QQuickView quickView(QUrl("MyView.qml"));
quickView.show();
QGuiApplication app;
return app.exec();
}
import QtQuick 2.1
import QtQuick.Window 2.1
import com.my.stuff 1.0
Item VeryVeryImportantItem {
id : veryVeryImportantItem
...
}
#include <QtQuick/QQuickItem>
class VeryVeryImportantItem : public QQuickItem
{
Q_OBJECT
public:
Q_INVOKABLE void cleanup();
...
};
QQuickItem::window()
可以给我指向我需要的窗口的指针,并且该窗口具有
QQuickWindow::closing(QQuickCloseEvent *);
信号,并且从理论上讲,我可以通过操作给定的
QQuickCloseEvent
对象来防止窗口关闭。
但是它不是公开的,我没有访问它的方法!
QWindow
具有
closing(CloseEvent)
信号,如果我在与其连接的插槽中将
CloseEvent.accepted
设置为false,这将阻止窗口立即关闭并使我能够调用
veryVeryImportantItem.cleanup()
方法。但是,我还有另一个问题:如果不是在QML中而是在C++启动代码中创建的,该如何获得对根窗口的引用。
最佳答案
I guess this is the very common situation and there obviously ought to be a well-defined way to handle this
QQmlApplicationEngine
并在QML方面将
ApplicationWindow
用作您的根组件。
onClosing
信号处理程序来运行清理。我有一个类似的场景,如果在调用清理之前关闭该应用程序,则该应用程序将崩溃,并且该方法可以完美地工作。
//main.cpp
QQmlApplicationEngine engine;
engine.load(QUrl("MyView.qml"));
ApplicationWindow {
visible: true
width: 1280
height: 720
BoxView {
id: view
}
onClosing: {
view.deleteView()
}
}
关于QtQuick : how to override window close event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33172261/
Qt Quick Templates 弹出窗口与 QtQuick Controls 弹出窗口有什么区别? 我从 import QtQuick.Templates 2.0 与 import QtQuic
Qt Quick Templates 弹出窗口与 QtQuick Controls 弹出窗口有什么区别? 我从 import QtQuick.Templates 2.0 与 import QtQuic
当编写不使用 QML 且不依赖于新的 Qt 5 功能的 Qt 应用程序时,我们可以同时使用 Qt 4 和 Qt 5 对其进行编译(除了少数源代码不兼容)。 当我们想要使用 Qt 5 功能但又想退回到等
如何使用 QtQuick 2 绘制矩形并控制它是否显示左边框或右边框或两者? 最佳答案 Rectangle 中有一个 border 属性,允许您向元素添加边框。问题是你不能只显示左边框或右边框。为此,
我一直在寻找如何使我的QtQuick 2.0应用程序的背景透明。我发现的大多数答案都使用 QtDeclarative,这适用于 QtQuick 1.0,但不适用于版本 2。 最后我找到了一个答案,我将
经过几周的断断续续的研究,我仍然没有找到关于如何在 QtQuick 中执行翻译/本地化的全面指南(例如,使用 QML 语言,而不是 C++ 或 Python)。 一般来说,我问的是在 QtQuick
我需要在我的 QtQuick2 应用程序中支持具有相同分辨率的多屏幕。换句话说,当我感觉到辅助屏幕已连接时,我需要扩展我的应用程序。在 QtQuick2 中有可能吗? 最佳答案 我一直在使用 QtQu
我编写了一个 C++ 方法来查找所有串行端口,打开、写入和关闭并使用 Q_INVOKABLE 从 QML 调用此方法。在 QML 中,我首先将 LoadingPage.qml 推送到 StackVie
我有 Qt GUI 应用程序。主窗口包含使用窗口容器放置在其上的 QtQuick 组件: QQuickView * view = new QQuickView (); QWidget * contai
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
背景故事 所以我最近决定尝试使用 Qt。我开始制作 QtQuick 应用程序。在我的设计器 View 中,我有一个按钮和一个鼠标区域。 我想做什么: 当我单击按钮时,我想显示一个带有一些文本的消息框(
当调整 GridView 的大小时,它的元素被重新排列,该元素的动画似乎不起作用。 在这里你可以找到一个简单的例子:http://pastebin.com/BgST6sCv 如果单击示例中的其中一个方
我们正在尝试在 Visual Studio 2015 中运行 OpenVR 模拟器(链接 https://github.com/matzman666/OpenVR-InputEmulator)。构建成
我正在尝试缩放 QQuickPaintedItem,这样事情就会变大,但绘图质量不会变差(即随着项目变大重新触发绘画)。 setScale 方法和我想得到的类似,但是项目内容没有缩放,所以看起来很糟糕
在 Qt/C++ 中有 QT_DEBUG 定义宏来知道它何时在调试或发布时编译。 有什么方法可以知道应用程序是否在 QML 文件中以调试或 Release模式运行? 最佳答案 您可以使用 contex
尝试将 QtQuick.Dialogs 1.(0/1/2) 添加到我的项目时出现以下错误: qrc:/qml/main.qml:4 module "QtQuick.Dialogs" is not in
这个问题其实来自How to scroll to certain row in QML TreeView . QtQuick 项的一些属性是隐藏的,例如 TreeView 中的 __listView。
我想使用 QML 创建一个类似的 UI,如下面的链接所示,这是我在 pyqt5 中使用 Qcompleter 的问题, pyqt5 autocomplete QLineEdit - Google pl
我正在尝试编写一个 QtQuick 程序,它作为用户和一些 CLI 应用程序之间的智能接口(interface)。我已经实现了 QtQuick + JavaScript 应用程序。 QtQuick 按
这个问题在这里已经有了答案: How do I apply the style to a TextField in QML? It seems "style" attribute isn't ava
我是一名优秀的程序员,十分优秀!