草庐IT

c++ - 使用 QIconEngine 和透明度自定义 QIcon

我正在尝试在Qt中实现类似“组合图标”的功能。目标:我需要为图标部分动态设置颜色。我的想法:由另外两个人组成这个图标。一个图标将根据需要着色(可能通过ColorizeEffect)并将其混合在充当覆盖层的第二个图标下。问题:我尝试了QIconEngine并实现了它的paint方法。ColorizeEffect似乎不起作用(即使我为此尝试使用临时QLabel进行破解-当强度设置为>0.0时,由此形成的QIcon为空)。但这不是主要问题。问题是,无论我做什么,我都会为这个“组合”图标获得一些默认的彩色背景。这是我的代码片段:classQComposedIconEngine:publicQI

c++ - 编译时得到错误: 'QtGui/QAction' file not found #include <QtGui/QAction>

我刚刚安装了MacOSX10.8.3和QtCreator3、XCode和XCode命令行工具。我正在尝试编译一个在另一台计算机上运行的项目,但每次我去“全部构建”时,我都会得到error:'QtGui/QAction'filenotfound在#include我尝试在.pro文件中添加第二行和第三行,但没有帮助QT+=coreguiopenglCONFIG+=qtQT+=guiTARGET=BasicOpenGLTEMPLATE=app更新:我也试过这个.pro文件,但它没有用QT+=coreguiopenglQT+=widgetsTARGET=BasicOpenGLTEMPLATE=

c++ - 如何将 QImage 转换为 QByteArray?

我正在尝试从QImage创建QByteArray,但是尽管我尝试了很多变体,但我无法处理它。我正在做的是:QImageimg_enrll;//但是错误代码是返回无效数据。我认为将QImage转换为QByteArray是错误的。请你能帮我如何转换为QByteArray吗? 最佳答案 你可以这样做:QImageimg_enrll;QByteArrayarr;QBufferbuffer(&arr);buffer.open(QIODevice::WriteOnly);img_enrll.save(&buffer,"yourformat");

c++ - 带有刻度文本标签的 Qt slider 小部件

我正在搜索像QSlider这样的Qt小部件,但具有文本刻度标签支持,如下所示:这个小部件我将用作模式切换器。你遇到过这样的事情吗? 最佳答案 我会使用QSlider和QLabel(s),如下所示。我通常的免责声明是,您肯定需要自己进行一些微调和调整。main.cpp#include#include#include#include#includeclassMainWindowQ_DECL_FINAL:publicQMainWindow{Q_OBJECTpublic:explicitMainWindow(QWidget*parent=Q

python - PySide/PyQt 如何创建一个新的窗口按钮?

我在使用Python2.7的PyQt4/PySide中遇到“新窗口”功能的问题。我连接了一个initNewWindow()函数来创建一个新窗口,一个Action并将它放在菜单栏中。曾经是桌面软件中的一个常见功能。新窗口弹出并关闭,而不是在另一个窗口旁边给我一个新的持久窗口。我正在处理的代码是专有的,因此我创建了一个示例,该示例在下面执行相同的错误。有什么办法可以让它工作吗?使用Python2.7在PySide中运行。它是在Windows中编写和测试的。fromPySide.QtCoreimportQSizefromPySide.QtGuiimportQActionfromPySide.

python - PyQt4 - 无法接收 sender() 信号/如何识别单击了哪个按钮并将其与适当的进度条匹配?

为什么我无法收到self.sender()输出?我的意思是识别点击了哪个按钮(启动下载功能),然后匹配相应的进度条作为下载指示器。错误输出为:回溯(最近调用最后):文件“final.py”,第308行,在buttonClicked中buttonHandle=self.sender()AttributeError:'Ui_MainWindow'对象没有属性'sender'非常感谢。classUi_MainWindow(object):defsetupUi(self,MainWindow):MainWindow.setObjectName(_fromUtf8("MainWindow"))M

python - 如何在没有中央小部件(PyQt4)的应用程序中设置 QDockWidget 初始(默认)大小?

我有一个包含很多QDockWidgets的应用程序并且没有中央小部件。我想设置其中的一些QDockWidgets初始大小(应用程序启动时的大小),但我不想限制它们的最小/最大大小。怎么做?例如,我需要将初始大小150x75设置为其中之一。我尝试了明显的方法(例如与停靠小部件内容相关的QWidget.Resize()),但它根本不起作用。这是一个简化的情况模型:fromPyQt4importQtCore,QtGuiapp=QtGui.QApplication([''])mw=QtGui.QMainWindow()#mw=MainWindowmw.setCentralWidget(None

python - 将图像放在 QPushButton 上

我是PyQt的初学者,我有一个名为add.gif的图像。我需要将这张图片放在QPushButton中,但我不知道怎么做。 最佳答案 例子:fromPyQt4importQtGui,QtCoreclassWindow(QtGui.QWidget):def__init__(self):QtGui.QWidget.__init__(self)self.button=QtGui.QPushButton('',self)self.button.clicked.connect(self.handleButton)self.button.setI

python - PyQt 进度条直到 100% 才更新或出现

编辑:PyQt4进度条上有许多类似的帖子没有更新。他们都关注线程问题以及程序实际更新窗口的位置。虽然有用,但我的代码结构如此之大以至于回复不切实际。此处给出的公认答案简单明了且有效。我在Win7x64机器上使用Python2.7和PyQT4。我正在尝试清除窗口中的一个小部件,一个“接受”按钮,查看代码,并将其替换为进度条。即使我在进入处理循环之前关闭了“接受”按钮并添加了进度条。窗口仅在循环结束后更新,进度条直接跳到100%。我的代码,fromPyQt4importQtCore,QtGuiimportsysimporttimeclassCentralWidget(QtGui.QWidg

python - QWidget::mouseMoveEvent 在光标悬停在子部件上时不触发

我试图通过重新实现QWidget::mouseMoveEvent()在QWidget中移动鼠标时捕获光标坐标。启用鼠标跟踪后,当我在主小部件周围移动光标时会生成鼠标移动事件。然而,当光标放在子部件上时,鼠标移动事件停止触发。鼠标按下/释放事件在光标位于同一个子部件上时起作用,如果按住鼠标按钮则移动事件正确触发。我也尝试过对child启用鼠标跟踪,但似乎没有什么区别。当鼠标悬停在子控件上时,如何触发鼠标移动事件?这是一个演示问题的最小工作示例:importsysfromPyQt4importQtCore,QtGuiclassMyWindow(QtGui.QWidget):def__ini