在Qt中,有多种方法可以将QWidgets呈现到位图缓冲区(例如QImage) 这些方法可以是:
QWidget.render(QPainter, ...)
QWidget.grab()
QPixmap::grabWidget(QWidget)
QPixmap::grabWindow( ID )
有很多可能的变体。但是,它们似乎都没有呈现可折叠的元素,比如(子)菜单或组合框。在
我还在Qt中发现了一个可能与之相关的错误报告 QTBUG-10683(如果这是一个bug的话)
那么,如何将扩展的QComboBox或QMenu等元素呈现为QImage或任何其他位图形式(如字节数组)。它应该适用于呈现不可见的屏幕外内容,因此不能通过操作系统捕获当前桌面。我对所有的暗示感到高兴,不管它是C++、Python还是仅仅解释这里发生的事情。在
问题是:弹出窗口是独立的窗口。在
您可以迭代子窗口并捕获所有子窗口。然后把它们混合成最终的图像,或者只是放在列表中。在
若要查找小部件是否是独立窗口,可以使用isWindow函数。在
要捕获隐藏的UI元素,可以使用qt-meta-system:
相关问题 更多 >
编程相关推荐