Qt主窗口上的图标不设置[重复]

Posted

技术标签:

【中文标题】Qt主窗口上的图标不设置[重复]【英文标题】:Icon on Qt main windows not to set [duplicate] 【发布时间】:2019-01-04 12:14:41 【问题描述】:

我是 Qt 和 Qt 设计师的新手。我的操作系统是 ubuntu 18.4,我正在使用 qt5。我通过 qt 设计器创建了一个简单的 Qwindows(默认安装 Qt 设计器)。第一步,我想更改主窗口的图标,以便像这样更改图标属性:

但是当我在设计器中预览它时,没有看到这个图标? 我将此 UI 转换为 py 并将此部分转换为设置图标:

def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(640, 480)
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap("res/main.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    MainWindow.setWindowIcon(icon)
    self.centralwidget = QtWidgets.QWidget(MainWindow) 

再次运行此python代码后未看到图标:

有什么问题?

我的 Qt 设计器版本是 5.9.5

【问题讨论】:

ubuntu 主题去掉了 topbar 图标,这与 PyQt 无关。 我对@a_manthey_67 投了赞成票,因为这是答案。 我并没有表明这篇文章的答案是错误的,我已经指出有一个问题我已经处理过这个话题,所以如果你能做到,那就去做。 :-) 根据那些主题我发现 ubuntu 似乎没有显示 qt icon app.@eyllanesc 【参考方案1】:

你可以试试:

def setupUi(self, MainWindow):
    [..]
    icon = QtGui.QIcon(path_to_image)
    MainWindow.setWindowIcon(icon)

【讨论】:

老兄,我正在使用 QMainwindow,所以我得到了'QMainWindow' object has no attribute 'setIcon'@BrandonBailey 我的错,我从 GUI 中复制了我必须手头的代码,只需将 setIcon 替换为:setWindowIcon 您必须确保 QIcon 中的路径已注册为路径,因此如果您要进行字符串切片,请确保将其包装在 os.path.join() 中 是的,我确定,因为当我运行应用程序时,此图标出现在操作系统工具栏上。但是这张图片没有出现在config server title旁边。这是 print(scriptDir + os.path.sep +'res/' + 'main.png') 的结果。 /home/groot/PycharmProjects/ConfigServer/res/main.png@BrandonBailey 似乎一切都是ok,这是ubuntu的东西。谢谢老兄,对不起,我浪费了你的时间。@BrandonBailey【参考方案2】:

试试看:

...
MainWindow.setWindowIcon(QtGui.QIcon("D:/_Qt/img/pyqt.jpg"))
...

【讨论】:

我使用了scriptDir = os.path.dirname(os.path.realpath(__file__)) MainWindow.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep +'res/' + 'main.png')),但是config server标题@S.Nick旁边没有出现这个图标 输出行print(scriptDir + os.path.sep +'res/' + 'main.png')的结果是什么? /home/groot/PycharmProjects/ConfigServer/res/main.png@S.Nick 试试看:MainWindow.setWindowIcon(QtGui.QIcon('./res/' + 'main.png')) 兄弟,您可以看到图标在图片和工具栏的左侧看到,但在标题旁边看不到pasteall.org/pic/show.php?id=a9cbe87eea17b4d911cac8ca5d46f523@S.Nick

以上是关于Qt主窗口上的图标不设置[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法向我的项目添加另一个窗口[重复]

QT 设置菜单图标

OSX 上的 QT:托盘图标 - 图标 Dock 问题

如何更改颤振网络应用程序上的图标[重复]

QT:标题栏隐藏图标和隐藏后移动窗口

Qt5从另一个类访问ui [重复]