Python Forum
[PyQt] How to make SVG's clickable?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] How to make SVG's clickable?
#1
I have an icon shown using a QtSvgWidget, and need to make it clickable but not sure how..

This is my relevant code:
from PyQt6 import QtSvgWidgets
icon_info = QtSvgWidgets.QSvgWidget('../img/ic_info_blue_24px.svg')
icon_info.setFixedSize(24, 24)
# on left mouse click, run this...
def foo(id):
    # do something
Reply
#2
Better use a button

#!/usr/bin/env python3

from PyQt6.QtWidgets import (QMainWindow, QApplication, QVBoxLayout, 
                             QWidget, QPushButton)
from PyQt6.QtGui import QIcon
from PyQt6.QtCore import Qt

class mainWin(QMainWindow):
    def __init__(self, parent = None):
        super(mainWin, self).__init__(parent)
        self.setupUI()
        
    def setupUI(self):
        self.setGeometry(0, 0, 300, 200)
        central_widget = QWidget()
        vbox = QVBoxLayout()
        vbox.setAlignment(Qt.AlignmentFlag.AlignCenter)  

        central_widget.setLayout(vbox)
        
        btn = QPushButton()
        btn.setIcon(QIcon('../img/ic_info_blue_24px.svg'))
        btn.setFixedSize(24, 24)
        btn.setFlat(True)
        btn.clicked.connect(self.on_btn_clicked)
        vbox.addWidget(btn)
        self.setCentralWidget(central_widget)
        
    def on_btn_clicked(self):
        print("button clicked")


if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = mainWin()
    win.setWindowTitle("Main Window")
    win.show()

    sys.exit(app.exec())
njminchin likes this post
Reply
#3
Awesome, thanks, that works much nicer
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Clickable Rectangles Tkinter Canvas MrTim 4 12,973 May-11-2021, 10:01 PM
Last Post: MrTim
  [Tkinter] Glow text of clickable object on hover with transition andy 6 8,523 May-11-2021, 07:39 AM
Last Post: andy
  Making text clickable with binding DT2000 10 7,628 Apr-02-2020, 10:11 PM
Last Post: DT2000
  (pyQt/pySide)setStyleSheet(border…) makes QPushButton not clickable in Maya vladlenPy 0 5,389 Apr-15-2018, 12:41 PM
Last Post: vladlenPy
  pyqt clickable pushbutton problem pythonck 1 8,583 Dec-12-2017, 03:38 PM
Last Post: pythonck
  [PyQt] QTreeView branches and their clickable area not coinciding abstracted 0 4,501 Mar-17-2017, 02:28 AM
Last Post: abstracted

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020