Qt 如何(使用打印机)打印QML对象?

我用Qt Quick设计了一张销售收据,我想用打印机打印 我该怎么做 这是我的main.cpp QtQuick2ApplicationViewer viewer; viewer.setMainQmlFile(QStringLiteral("qml/Caisse-MBM/main.qml")); viewer.showFullScreen(); 您可以使用QQuickView::grabWindow()获取QImage,然后对其执行任何操作、打印、保存 QImage image = view-&

如何在Qt5.4-qwebengine中获取页面的html源代码

我试图在新的qwebengine(Qt5.4)中检索页面的源代码,但我不知道我做错了什么: QString html; this->page()->toHtml([&html](const QString &result){ html = result; }); qDebug() << html; // is still empty QString html; 这个->页面()->toHtml([&html](constqstring&resul

Qt OpenGL纹理不渲染,如果它';它当前处于活动状态

我使用QOpenGLWidget来渲染纹理三角形,代码看起来不错,但三角形总是呈现黑色。我有两天一直在处理这个问题,直到我意外地发现标题是什么 这是代码,纹理被加载到默认位置GL_TEXTURE0,除非我调用glActiveTexture(GL_TEXTURE1)否则代码将无法工作。最后,GL_TEXTURE1只是一个示例,它可以是除纹理实际所在位置以外的任何其他纹理插槽。如果没有调用,对象将是黑色的 QImage ready; QImage image("C:/Users/Ga

Qt QML创建TreeView动态模型的正确方法是什么? 我在QML上是新的,最近我在QML和C++的集成中遇到了一些麻烦,现在我试图正确地进行集成。

所以,我正在尝试创建带有动态模型的QML TreeView,我看到了创建TreeView模型的不同方法 在文档中,示例包含TableViewColumn: 在一些关于互联网的研究中,我发现: 使用C++创建: 所以,我的问题是,为QML TreeView创建模型的正确方法是什么? 该模型将是动态的,具有动态数据 对于dynamic,我的意思是将有一个不固定数量的节点,但是信息将是相同的,它遵循一个json和一个示例图像: [ { "description": "screen1"

如何在Qt Designer中设置主题?

我使用Qt Designer设计用户界面,然后用Python加载*.ui文件 对于按钮,我想添加微风主题中的图标。在Qt Designer中,我可以通过“从主题设置图标…”添加图标 但这是从不同的主题加载图标。在我的Python代码中,我选择了主题via QtGui.QIcon.setThemeName("breeze") 它在运行时显示如下: 这也是我想在Qt设计器中看到的 问题:如何设置Qt Designer以使用微风主题中的图标? 版本: Qt创建者:基于Qt 5.5.1的3.5.

Qt 设置弹出窗口的高度以包含内容

我想设置我的弹出窗口的大小(主要是高度)以适应内容,这取决于显示的文本量或弹出窗口上是否显示图标图像。如何设置弹出窗口的高度 例如 如果使用长文本,则文本会从弹出矩形溢出。我尝试在不同的地方使用implicitHeight,但我不知道如何在这种情况下应用它。您的代码有几个问题。很难做出一个完美的答案,因为我不知道确切的目的是什么。例如,您的文本将始终脱离矩形的底部,因为您将textField的anchor.top定位到iconField.bottom,并且iconField与整个弹出窗口的大小相

Qt 通过QStyle设置QScrollBar的样式

我尝试通过自定义QStyle设置QScrollBar的样式,但如果我在drawComplexControl中没有为QScrollBar绘制任何内容,则父窗口小部件上滚动条所需的空间将被绘制为黑色。如果我对QToolButton做同样的操作,那么toolbutton没有被绘制,但是小部件上没有黑色的rect。这就是我所期望的。 但是QScrollBar有什么不同呢?我解决了这个问题。默认情况下,QScrollBar设置了Qt::WA_OpaquePaintEvent属性。如果重置,图形的行为将与预

Qtreeview,在显示';他被选中了

我使用的是Qt4.7.0,一个具有多列的Qtreeview 我想要做的是“简单”:我想要一条线,当它被选中时,增加它的高度 代表们是否足够做到这一点 我已经用QTableView看了一些东西: m_pMyTableView->verticalHeader()->setResizeMode(QHeaderView::Interactive); ... QSize AbstractItemDelegate::sizeHint(const QStyleOptionViewItem &

qt exe文件中的描述

如何将说明添加到使用qt制作的exe文件中 显示的唯一描述是应用程序的标题 我想要的描述类型是exe属性中的描述类型如果您指的是Windows下的资源文件信息,以下链接为您提供了一些相同的代码: 编辑: 更好的是,请参阅StackOverflow上的这篇文章: (同样,假设这就是您要查找的内容。)当您将鼠标悬停在其上时的描述?或者您可以在应用程序的“关于/帮助”菜单中添加的说明?您能解释一下“说明”是什么意思吗?您是指查看exe属性时的额外信息吗?可能重复

学习qtdbus的资源

请,你能提供一些资源(网络链接)给我学习qt dbus吗 我已经有了一个提供QtDBus接口的流程,我想学习它,以便与之通信。谷歌搜索QtDBus和QtDBus教程的第一个点击: 这里还有更多有趣的热门歌曲。当然,它们对你的有用性取决于你想做什么。自12月10日以来,还有一些更有用的链接: 在我看来,这是最好的入门教程: 如果您想自省D-Bus对象和消息,可以使用以下工具: 诺基亚有一些很棒的Maemo代码,您可以从中查看。我发现它有很好的文档记录并且很有用 但是maemo直接使

Scons:我无法添加qt4工具

我按照以下指南写信: 我尝试在以下位置签出lp:scons-qt4: 包含项目的目录 ~/.scons/site\u scons/site\u工具 ~/.scons目录 但是一个简单的SConstruct文件有一行: env = Environment (tools = ['default', 'qt4']) 仍会生成错误消息: scons: Reading SConscript files ... EnvironmentError: No tool named 'qt4': not a Z

Qt OpenSSL问题-在某些计算机上被阻止(?)

我编写了一个应用程序I qt,它使用OpenSSL。从昨天起,一切都很好。我编译了应用程序并发送给我的朋友。在他的计算机上,应用程序可以打开https。我在另一台计算机上打开,但它不工作。所以我把它给了另一个朋友,他不能打开https网站。我很困惑,给了另一个人,在他的电脑上我的应用程序正在运行。我不理解这种情况。以前的版本没有bug。但我运行的是以前的版本,它工作正常,但也不工作。我关掉了所有的防火墙。没有什么变化 有什么建议吗 我们都有7个x64。我在XP上进行了测试,他成功了,但7 x64

Qt Creator中的非Qt控制台应用程序

我想在Qt Creator中创建下面的简单控制台应用程序: #include <iostream> int main(int argc, char* argv[]) { std::cout << "Hello WOrld"; return 0; } #包括 int main(int argc,char*argv[]) { std::cout我在该示例中看到的唯一错误是未刷新流(请将std::cout行更改为: std::cout << "He

Qt跨平台开发?

我只是有一个关于在不同操作系统上运行Qt创建的应用程序的小问题。 作为普通用户,我是否必须安装Qt framework才能运行Qt应用程序? 我的意思是我已经用Windows创建了Qt应用程序,然后我为Linux做了一个构建。 我是否需要在Linux pc上安装Qt框架才能运行该应用程序? 或者有一种方法可以将所有需要的库打包到应用程序安装程序中 最佳问候取决于您所说的“框架”,您将需要运行库,除非您向诺基亚支付了允许静态链接的许可证。您可以在应用程序中提供所需的动态库,如下所述: 因为Qt不

Qt 定义QWebElement的字符编码';s`toPlainText()`

在处理QWebKit的QWebElement及其toPlainText()函数(*)时,我很难掌握字符编码的诀窍 我得到了一个带有UTF8编码的QString,它保存了一个HTML页面的内容,该页面是通过QFile从本地光盘读取的。不,我想使用QWebKit解析此页面。因此,我将QWebFrame对象定义为QWebPage的一部分。使用QWebFrame::setHtml()我将QString填充到QWebKit环境中 QString rawReport = "some UTF8 encoded

Qt 如何在QML中模拟按钮

我想模仿QML中的按钮,但为什么它只适用于containsMouse和!contains使用,它不能与按下的一起使用。你能帮助我吗?多谢各位 Item { id: area property string str_noPressed; property string str_hover; property string str_pressed; Image { id: backgrou

Qt 如何绘制三次Bé;wxWidgets中的zier曲线?

在Qt中,可以使用以下代码绘制三次Bézier曲线 QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); QPainterPath path; path.moveTo(80, 320); path.cubicTo(200, 80, 320, 80, 480, 320); painter.setPen(QPen(Qt::black, 8)); painter.drawPath(path); 如

VS2010中Qt 4.8.2的文档

Visual Studio附加模块1.1.11的亮点包括: Visual Studio 2010的文档支持,并更新了文档 修正了经常移动的问题。(QTVSADINBUG-92) 修复了.pro文件打开时包含“.”路径的问题。(QTVSADINBUG-117) 如何使用集成的文档?文档集成以及使Qt与Qt完美配合所需的所有其他标志是否正确

Qt QLabel自动多行

例如,我们有一个QLabel,最大宽度设置为400。 当我们试图显示像素宽度超过400的文本时,它会被截断显示。 有没有办法让QLabel在不使用QFontMetrics或类似工具的情况下以多行显示此字符串?如果我正确理解了您的问题,您应该将函数用于标签,并将true作为其参数 QLabel lbl("long long string"); lbl.setWordWrap(true); 为了在QLabel中显示多行,右键单击QLabel并选择“更改富文本”。这将打开一个对话框,您可以在其中键入

如何在Qt(参考财富服务器客户端)中实现单服务器多客户端以太网通信?

如何在qt中实现单服务器和多客户端通信。查看qt中的fortune server示例,每次分配的端口都不同,即我无法控制分配的端口。如何为多个客户端分配端口,并为每个客户端连接分配不同的端口???为什么要在不同的端口启动多个服务器,而不是启动QTcpServer和waitForNewConnection并通过nextPendingConnection?@nurettin:我想你误解了这个问题,我想运行一台服务器,如果client1请求连接,我应该为它分配端口x,如果client2请求连接,我应该

如何将QT中的大样式文件(qss文件)拆分为小文件并全部加载

我要做的是将我的大样式文件拆分为小样式文件 因为现在很难读取样式文件(qss文件)并向其中添加新样式。 之后,我需要加载这些小qss文件来应用它们 我通过调用我创建的main函数来加载我的大文件 void Utilities::loadEnglishStyle() { QFile file(":/EnglishClasses.qss"); file.open(QFile::ReadOnly); QString StyleSheet = QLatin1String(file

Qt拖动调整小部件?

假设在父窗口小部件中有两个垂直布局的Qt窗口小部件 是否有办法在它们之间添加控件“边框”,以便在两个WideGet之间单击并拖动边框区域时,可以更改它们所采用的父对象的相对区域 也就是说,如果您将其向上拖动,则底部小部件的大小将变大,顶部小部件的大小将变小。您所需要的就是 如果您喜欢用代码创建小部件,请查看上面链接中的文档 如果您喜欢QtDesigner/QtCreator中的视觉布局,可以下载我最近的little并在QtCreator中打开。在这里,你会发现很多的Qspliter!您可以使用上

qt创建者:没有这样的文件或目录

嗨,我只是想用qt编译一个简单的项目 #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton bouton("Salut les Zéros, la forme ?"); bouton.show(); return app.exec(); } #包括 #包括 int m

使用boostbuildbjam来构建Qt

我想扩展一个现有的项目,它是由boost build的bjam用一些QT GUI构建的。现在我想知道是否有一个好的方法来做到这一点。特别是:moc是如何调用的?根据这个boost build V2支持来自box的Qt4

从Windows到ubuntu的交叉编译应用程序qt

我在Windows上开发了一个应用程序(运行良好)。我现在必须在Ubuntu上执行这个应用程序。如何部署我的应用程序?是否可以交叉编译(如果可以,如何交叉编译)。我没有看过任何教程(只有Linux到Windows) 感谢您的帮助您不能交叉编译到“Linux”,因为它不是操作系统 某些系统级库和接口因发行版而异,因此几乎不可能获得一个覆盖所有发行版的二进制文件 设置交叉编译器通常是一件痛苦的事情。。。对于Linux->Windows,没有免费的替代方案(Windows许可证不是免费的)。对于Win

Qt 如何知道连接到特定qobject的插槽&;信号?

给定一个从qobject派生的对象和一个特定的信号,是否可以动态地知道连接到该信号的插槽?您应该看看QMetaObject::indexOfSignal,QMetaObject::indexOfSlot和QMetaObject::indexOfMethod QMetaObject* Meta = MyObject->metaObject(); int i = Meta->indexOfSlot("mySlot()"); if (i != -1) { // Has connec

Qt将数据包传输到应用程序--从接收线程

我正在开发从USB到CAN接口接收数据的GUI应用程序。现在我希望这些数据显示在QtGUI中 我是wx小部件用户,在那里我使用接收线程的事件处理程序将数据发送到GUI应用程序 wx小部件中的事件处理程序:--- 为事件处理程序设置数据并在wx小部件中触发事件:-- wxCommandEvent eventReceive( wxVSCP_IN_EVENT, test::ID_TEST_1 ); 有没有一种方法可以将数据从Qt底层发送到GUI 简介:—— 我需要在接收线程中传递接收到的数据包。。到

QT全局鼠标侦听器

我是来自Java的新手。有没有这样的东西: QT?我可以用坐标获得所有鼠标事件吗?我已经做了以下工作: bool MainWindow::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::MouseButtonRelease) { QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);

QtCreator:部署到多个linux嵌入式设备

我目前正在开发QtCreator 3.0.1,目标是从ARM(TI AM335x)交叉编译的Qt 5.2.1 我已经在QtCreator中设置了我的“Qt版本”、“套件”和“设备”,一切都很好。。。我能够在嵌入式设备上部署和运行(以及调试)我的应用程序 无论如何,现在我想在两个设备上部署应用程序(我的开发设备,地址为192.168.79.12,我们的测试台设备地址为192.168.79.6)。出于这个原因,我创建了另一个“通用Linux嵌入式”设备,我想在“构建和运行工具包选择器”中显示它:换句

Qt 如何在qgraphicsview中从QGraphicsSitem获取不同的上下文菜单?

我有一个qgraphicsview,它包含一个场景,里面有一些GraphicsSitem。 我已通过setcontextmenupolicy(qt::actionscontextmenu)启用qgraphicsview中的上下文菜单,但现在我的QGraphicsSitem无法接收任何QGraphicsContextMenuEvent事件。因此,仅显示qgraphicsview的上下文菜单 我怎样才能解决这个问题 在下面的代码中,我创建了自己的场景类,继承自QGraphicscene 然后重新实现

向QTreeView列添加填充

我已使用以下QSS代码在QTreeView的标题中添加了左右填充: QHeaderView::section{padding:7px 15px} 但是列的内容不再与标题对齐 如何向列的内容添加15px的填充(如标题中的填充) 编辑:出于某些原因,我使用委托来绘制QTreeView的内容,这就是为什么设置QTreeView::item的样式不起作用(如@svlasov建议的) painter.translate(15,0)似乎可以解决此问题,但当我选择一行时,会出现一种奇怪的效果:选择不是连续

Qt 在OS-X下,QPushButton和QLineEdit的高度不同

我想将QPushButton和QLineEdit放在一个QTreeView单元格中,方法是将它们放在一个具有QHBoxLayout的容器小部件中。但是,它看起来不太好,按钮比线条编辑器高,你可以在下面我的屏幕截图中看到。当单元格只包含一个按钮或编辑器时,它将填充整个单元格,这正是我想要的 这个问题只发生在OS-X上(我使用的是10.6.8),在Windows和Linux下,它看起来和预期的一样 我已经将版面的内容边距和间距设置为0。使用样式表将小部件的填充和边距设置为0也没有帮助。我怎样才能解

Qt 如何使用QProcess?

我想从QProcess对象打开QGIS项目。 如果我在控制台下,我必须打字 qgis --project /path/of/my/qgis/project/nameofproject.qgs 然后,我做下一步: QString app="qgis"; QStringList arguments; arguments.append ("--project /path/of/my/qgis/project/nameofproject.qgs"); 然后我这样称呼它: proceso->st

Qt 使quickwidget背景透明

我在主窗口中创建了2个QWidget和1个QQuickWidget。QQuickWidget使用源qml文件。我想为两个QWidgets和QQuickWidget设置背景透明 有人能帮我把QQuickWidget的背景设置成透明的,这样我的主窗口也可以看到

Qt:;“正常”;切换到最大化状态然后切换到全屏时窗口大小丢失

我有一个Qt应用程序,它可以显示“正常”(一个既不最大化也不最小化的正常窗口)、最大化或全屏。我通过调用函数QWidget::showNormal(),QWidget::showMaximized()和QWidget::showFullscreen()来实现这一点 首先让我解释一下什么是有效的: 从正常到最大化和反向工作。Qt记住正常窗口的窗口大小和位置,然后在退出最大化状态时恢复 从普通屏幕到全屏屏幕,再回到工作状态。在这里,正常窗口的大小和位置也保持不变 什么不起作用 当从正常到最大化,再到

QTreeWidget,包含小部件并设置行高问题

通过继承QItemDelegate,设置行高或多或少是微不足道的 问题是,我可以使行大小变大,但如果我在其中添加一个小部件,就无法使行大小变小 有什么提示吗 提前谢谢。可能您的小部件QWidget::minimumSize().height()比您想要设置的行高大 另外,可能您会发布一些相关代码?可能您的小部件QWidget::minimumSize().height()比您想要设置的行高大 另外,您可能会发布一些相关代码?您找到解决此问题的方法了吗?您找到解决此问题的方法了吗?

Beaglebone Black、Qt应用程序和启动程序

我有一个BBB运行Debian 3.18.13-bone70。我制作了一个Qt应用程序,效果非常好。我希望此应用程序在启动时运行 目前,我已经制作了一个脚本,将它放在/etc/init.d中,并在/etc/rc5.d/S05application中创建了一个指向它的符号链接。这一切都正常工作 我遇到的问题是,当我的系统启动时,我会简单地看到我的应用程序(您没有明确说明您的系统以及系统上运行的其他内容。例如,它是一个yocto构建,是否运行sato用户界面,还是更传统的带有显示管理器、窗口管理器等

Qt 如何镜像电影并反向播放?

我一直在玩一些尝试镜像电影以及反向播放它。 对于镜像位,我尝试分配负宽度,但没有效果。既然它提供了这方面的设施,我希望它也能这样做。 对象中似乎没有任何设施来实现这些功能,因此我想知道是否可以通过操纵对象的属性来实现这一点,但这对我来说是一个全新的领域,我在文档中没有看到任何明显的东西可以实现镜像或反向播放。 要开始的代码示例与PySide页面上的代码示例相同: label = QLabel() movie = QMovie("animations/fire.gif") label.setMov

QT控制台应用程序显示在应用程序输出面板中,而不是控制台窗口中

我希望将我的应用程序输出打开到一个新的控制台窗口中 当前,它将在应用程序输出窗格中打开,如中所示 .pro文件的价值 QT += core QT -= gui CONFIG += c++11 TARGET = console_app CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp DEFINES += QT_DEPRECATED_WARNINGS (如何)做到这一点?@Edward W

Qt qmake:从变量中删除条目

作为Qt项目部署过程的一部分,我需要将几个文件复制到部署文件夹中。我的问题是我不能让孩子去上班。我还想根据文件名筛选出特定的文件 为了重现我的问题,我创建了一个简单的Qt项目,其.pro文件如下所示(请参阅“感兴趣的部分”): 我在Qt Creator项目设置中的构建过程中添加了一个“make install”步骤。此步骤应查看.pro文件中的INSTALLS变量,并将指定的文件从“文件”复制到“部署”文件夹 现在,“文件”文件夹包含以下文件: fileb.txt filec.txt file

Qt 尝试将shell命令的实时/实时输出作为字符串数据从函数返回到主函数

不知道如何解释,因为我在GO中使用QT绑定 所以我粘贴了一个迷你版的程序。 我正在尝试从run()函数返回到QT窗口的实时流。。 我尝试了很多方法。。。最后一个有通道(未成功) 将实时输出传递给main()函数以便我的QT插槽可以更新窗口的最佳方式是什么 包干管 import ( "fmt" // "github.com/therecipe/qt/core" "bufio" "github.com/therecipe/qt

QProcess在Qt 5.10.1和Windows 10中失败

我最近静态编译了Qt5.10.1(mingw32),下面的例程现在无法工作。我修改了代码以包含windows cmd“c:\windows\system32\cmd.exe”的完整路径,但仍然不起作用。尝试使用Windows 7和10。下面的代码适用于Qt5.6。它的工作是打开一个Windows终端。类似的代码可以在macOS和Linux中打开控制台 注意:此行为是Qt 5.8中引入的错误,请参见: QString commstr=adbdir+“cpath.bat”; QFile文件(com

Qt QChart对大数据集无响应

我有这段代码,它适用于数据大小高达1000的情况。现在我测试了65536分 series = new QLineSeries(); QList<QPointF> points; points.reserve(data.size()); for(std::vector<int>::size_type i = 0; i != data.size(); i++) { QPointF point(i, data[i]*100/max); points.appe

Qt 如何格式化信用卡文本编辑小部件?

我正在尝试为我的信用卡小部件定制格式。前4个数字后面应该跟一个破折号“-”,然后在3个数字后面,再跟一个破折号,然后再跟2个数字 示例:1234-678-52 如何自定义文本编辑格式,使其已存在并遵循上述格式 内置的日期小部件具有类似的功能:使用“/”作为分隔符。如果使用QLineEdit,则选项是使用属性: your_qlineedit->setInputMask(“999-9999-99”); 您可以使用三个输入字段。将它们放在一行中,在中间画“-”,并添加输入掩码和一些逻辑 输入掩码:9

Qt 另一个线程';s槽

我有两个信号: void dataSampled(size_t a); void error(const QString& message); 其他地方: m_acquisitionThread = new QThread(this); m_acquisitionManager = new AcquisitionManager(); QObject::connect(m_acquisitionManager, &AcquisitionManager::d

Qt 如何禁用小部件的抗锯齿?

由于我无法控制的原因,小部件必须在没有抗锯齿的情况下呈现。它以前都是由内部编写的带有渲染提示的意大利面代码绘制的: painter.setRenderHint(QPainter::Antialiasing, false); painter.setRenderHint(QPainter::SmoothPixmapTransform, false); 现在我正在重写从QWidget继承的小部件,并使用QTs自己的QLabel、QButton和样式表。有没有一种方法可以禁用小部件及其子部件的抗锯齿功

Qt QLabel不显示在QWidget中

我的Qt应用程序中有以下层次结构: QMainWindow>QWidget(centralWidget)>QWidget(子类)>QLabel 我的QMainWindow代码中的初始化代码: centralWidget = new QWidget(); centralWidget->setGeometry(0,0,width,height); chatWidget=new ChatWidget(this); // the subclassed QWidget setCentralWidge