Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. Qt Development
  3. Qt for Python
  4. Drop shadow not working
Qt 6.12 LTS is out! See what's new in the release blog

Drop shadow not working

Scheduled Pinned Locked Moved Unsolved Qt for Python
21 Posts 5 Posters 18.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • poppypelt12P poppypelt12

    @jsulm Sorry, I am a beginner haha :) i copied the code and pasted it but my program is more complex but this is the relevant part. Did i do something wrong with how i wrote the drop shadow or did i leave out a library? :(

    JonBJ Offline
    JonBJ Offline
    JonB
    wrote on last edited by
    #6

    @poppypelt12
    We are just asking you: when you paste code blocks, please enclose them in the forum's Code tags (the </> button). This will post all the code literally, including spacing, which is so vital in Python.

    poppypelt12P 1 Reply Last reply
    0
    • JonBJ JonB

      @poppypelt12
      We are just asking you: when you paste code blocks, please enclose them in the forum's Code tags (the </> button). This will post all the code literally, including spacing, which is so vital in Python.

      poppypelt12P Offline
      poppypelt12P Offline
      poppypelt12
      wrote on last edited by
      #7

      @JonB Okay, here is the code with the forums code tags ^^

      <class MainWindow(QMainWindow):
      def init(self, parent=None):
      super().init(parent)
      self.ui = Ui_MainWindow()
      self.ui.setupUi(self)

          self.room_instance = Room(None, None, None)
          self.data=self.room_instance.read_data_from_file("rooms.json")
      
          self.ui.settings.clicked.connect(self.showSettings)
          self.ui.panels.clicked.connect(self.showPanels)
          self.ui.legendButton.clicked.connect(self.legend_change_size)
      
          for child in self.ui.grid.findChildren(QPushButton):
              self.apply_drop_shadow(child)
      
          shadow = QGraphicsDropShadowEffect()
          shadow.setBlurRadius(10)  # Adjust the blur radius as needed
          shadow.setXOffset(5)      # Adjust the X offset as needed
          shadow.setYOffset(5)      # Adjust the Y offset as needed
      
          # Apply the drop shadow effect to the button
          self.ui.legendButton.setGraphicsEffect(shadow)
          self.ui.legend.setMinimumWidth(286)
          self.ui.legendButton.setVisible(True)
          #self.apply_drop_shadow(self.ui.legendButton)
          self.ui.button_area.setGeometry(70, 0, 1800, 1080)
          self.setWindowTitle("Vital Alert")
          self.setWindowIcon(QIcon("logo.png"))
      
          self.populate_buttons()
          self.set_icons()
      
          self.showFullScreen()
      
      def apply_drop_shadow(self, widget):
          shadow = QGraphicsDropShadowEffect(blurRadius=5, xOffset=10, yOffset=10)
          widget.setGraphicsEffect(shadow)
      

      />

      Live, laugh, love

      jsulmJ J.HilkJ 2 Replies Last reply
      0
      • poppypelt12P poppypelt12

        @JonB Okay, here is the code with the forums code tags ^^

        <class MainWindow(QMainWindow):
        def init(self, parent=None):
        super().init(parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

            self.room_instance = Room(None, None, None)
            self.data=self.room_instance.read_data_from_file("rooms.json")
        
            self.ui.settings.clicked.connect(self.showSettings)
            self.ui.panels.clicked.connect(self.showPanels)
            self.ui.legendButton.clicked.connect(self.legend_change_size)
        
            for child in self.ui.grid.findChildren(QPushButton):
                self.apply_drop_shadow(child)
        
            shadow = QGraphicsDropShadowEffect()
            shadow.setBlurRadius(10)  # Adjust the blur radius as needed
            shadow.setXOffset(5)      # Adjust the X offset as needed
            shadow.setYOffset(5)      # Adjust the Y offset as needed
        
            # Apply the drop shadow effect to the button
            self.ui.legendButton.setGraphicsEffect(shadow)
            self.ui.legend.setMinimumWidth(286)
            self.ui.legendButton.setVisible(True)
            #self.apply_drop_shadow(self.ui.legendButton)
            self.ui.button_area.setGeometry(70, 0, 1800, 1080)
            self.setWindowTitle("Vital Alert")
            self.setWindowIcon(QIcon("logo.png"))
        
            self.populate_buttons()
            self.set_icons()
        
            self.showFullScreen()
        
        def apply_drop_shadow(self, widget):
            shadow = QGraphicsDropShadowEffect(blurRadius=5, xOffset=10, yOffset=10)
            widget.setGraphicsEffect(shadow)
        

        />

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #8

        @poppypelt12 said in Drop shadow not working:

        here is the code with the forums code tags

        Better, but still not correct

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        poppypelt12P 1 Reply Last reply
        0
        • poppypelt12P poppypelt12

          @JonB Okay, here is the code with the forums code tags ^^

          <class MainWindow(QMainWindow):
          def init(self, parent=None):
          super().init(parent)
          self.ui = Ui_MainWindow()
          self.ui.setupUi(self)

              self.room_instance = Room(None, None, None)
              self.data=self.room_instance.read_data_from_file("rooms.json")
          
              self.ui.settings.clicked.connect(self.showSettings)
              self.ui.panels.clicked.connect(self.showPanels)
              self.ui.legendButton.clicked.connect(self.legend_change_size)
          
              for child in self.ui.grid.findChildren(QPushButton):
                  self.apply_drop_shadow(child)
          
              shadow = QGraphicsDropShadowEffect()
              shadow.setBlurRadius(10)  # Adjust the blur radius as needed
              shadow.setXOffset(5)      # Adjust the X offset as needed
              shadow.setYOffset(5)      # Adjust the Y offset as needed
          
              # Apply the drop shadow effect to the button
              self.ui.legendButton.setGraphicsEffect(shadow)
              self.ui.legend.setMinimumWidth(286)
              self.ui.legendButton.setVisible(True)
              #self.apply_drop_shadow(self.ui.legendButton)
              self.ui.button_area.setGeometry(70, 0, 1800, 1080)
              self.setWindowTitle("Vital Alert")
              self.setWindowIcon(QIcon("logo.png"))
          
              self.populate_buttons()
              self.set_icons()
          
              self.showFullScreen()
          
          def apply_drop_shadow(self, widget):
              shadow = QGraphicsDropShadowEffect(blurRadius=5, xOffset=10, yOffset=10)
              widget.setGraphicsEffect(shadow)
          

          />

          J.HilkJ Offline
          J.HilkJ Offline
          J.Hilk
          Moderators
          wrote on last edited by
          #9

          @poppypelt12
          6343ea52-0d90-4681-9e9d-a90a09230d40-image.png


          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


          Q: What's that?
          A: It's blue light.
          Q: What does it do?
          A: It turns blue.

          poppypelt12P 1 Reply Last reply
          0
          • J.HilkJ J.Hilk

            @poppypelt12
            6343ea52-0d90-4681-9e9d-a90a09230d40-image.png

            poppypelt12P Offline
            poppypelt12P Offline
            poppypelt12
            wrote on last edited by
            #10

            @J-Hilk

            import sys
            
            from PySide6.QtWidgets import QApplication, QMainWindow, QDialog, QMessageBox, QPushButton, QGraphicsDropShadowEffect, QTableWidget, QTableWidgetItem
            from PySide6.QtGui import QIcon, QPixmap
            from PySide6.QtCore import Qt, QSize, QPropertyAnimation, QEasingCurve, QPoint
            
            from ui_form import Ui_MainWindow
            from add_room import AddRoomDialog
            from room import Room
            from settings import Settings
            from panels import Panels
            
            import re
            
            class MainWindow(QMainWindow):
                def __init__(self, parent=None):
                    super().__init__(parent)
                    self.ui = Ui_MainWindow()
                    self.ui.setupUi(self)
            
                    self.ui.legendButton.clicked.connect(self.legend_change_size)
            
                    for child in self.ui.grid.findChildren(QPushButton):
                        self.apply_drop_shadow(child)
            
                    shadow = QGraphicsDropShadowEffect()
                    shadow.setBlurRadius(10)  # Adjust the blur radius as needed
                    shadow.setXOffset(5)      # Adjust the X offset as needed
                    shadow.setYOffset(5)      # Adjust the Y offset as needed
            
                    # Apply the drop shadow effect to the button
                    self.ui.legendButton.setGraphicsEffect(shadow)
                    self.ui.legend.setMinimumWidth(286)
                    self.ui.legendButton.setVisible(True)
                    #self.apply_drop_shadow(self.ui.legendButton)
                    self.ui.button_area.setGeometry(70, 0, 1800, 1080)
                    self.setWindowTitle("Vital Alert")
                    self.setWindowIcon(QIcon("logo.png"))
            
                    self.populate_buttons()
                    self.set_icons()
            
                    self.showFullScreen()
            
                def apply_drop_shadow(self, widget):
                    shadow = QGraphicsDropShadowEffect(blurRadius=5, xOffset=10, yOffset=10)
                    widget.setGraphicsEffect(shadow)
            
            

            thank you for the inpot

            Live, laugh, love

            1 Reply Last reply
            1
            • jsulmJ jsulm

              @poppypelt12 said in Drop shadow not working:

              here is the code with the forums code tags

              Better, but still not correct

              poppypelt12P Offline
              poppypelt12P Offline
              poppypelt12
              wrote on last edited by
              #11

              @jsulm Could you please tell me what you think i did wrong? It is very important to me..! I think you are the only one who can help me with this...

              Live, laugh, love

              jsulmJ 1 Reply Last reply
              0
              • poppypelt12P poppypelt12

                @jsulm Could you please tell me what you think i did wrong? It is very important to me..! I think you are the only one who can help me with this...

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #12

                @poppypelt12 Did you actually check whether self.ui.grid.findChildren(QPushButton) returned anything?

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                poppypelt12P 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @poppypelt12 Did you actually check whether self.ui.grid.findChildren(QPushButton) returned anything?

                  poppypelt12P Offline
                  poppypelt12P Offline
                  poppypelt12
                  wrote on last edited by
                  #13

                  @jsulm I dont know, but I tried doing it in another project on a regular single button, and it didn't work in there either, does it work for you?

                  Live, laugh, love

                  jsulmJ 1 Reply Last reply
                  0
                  • poppypelt12P poppypelt12

                    @jsulm I dont know, but I tried doing it in another project on a regular single button, and it didn't work in there either, does it work for you?

                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #14

                    @poppypelt12 Well, without ui_form I can't run your script.

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    poppypelt12P 1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @poppypelt12 Well, without ui_form I can't run your script.

                      poppypelt12P Offline
                      poppypelt12P Offline
                      poppypelt12
                      wrote on last edited by
                      #15

                      @jsulm but can you add a drop shadow at all to any button? please if i cant figure this out i will cry :(

                      Live, laugh, love

                      jsulmJ 2 Replies Last reply
                      0
                      • poppypelt12P poppypelt12

                        @jsulm but can you add a drop shadow at all to any button? please if i cant figure this out i will cry :(

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #16

                        @poppypelt12 You were asked to write MINIMAL script. You did not.
                        Here, I did it for you:

                        import sys
                        
                        from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QGraphicsDropShadowEffect
                        
                        class MainWindow(QMainWindow):
                            def __init__(self, parent=None):
                                super().__init__(parent)
                        
                                shadow = QGraphicsDropShadowEffect()
                                shadow.setBlurRadius(10)  # Adjust the blur radius as needed
                                shadow.setXOffset(5)      # Adjust the X offset as needed
                                shadow.setYOffset(5)      # Adjust the Y offset as needed
                        
                                self.button = QPushButton(self)
                                self.button.setGraphicsEffect(shadow)
                        
                        if __name__ == '__main__':
                            app = QApplication()
                        
                            mainWindow = MainWindow()
                            mainWindow.show()
                        
                            app.exec()
                        

                        And no, I don't see any drop shadow.

                        https://forum.qt.io/topic/113070/qt-code-of-conduct

                        poppypelt12P 1 Reply Last reply
                        0
                        • poppypelt12P poppypelt12

                          @jsulm but can you add a drop shadow at all to any button? please if i cant figure this out i will cry :(

                          jsulmJ Offline
                          jsulmJ Offline
                          jsulm
                          Lifetime Qt Champion
                          wrote on last edited by
                          #17

                          @poppypelt12 This works:

                          import sys
                          
                          from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QGraphicsDropShadowEffect
                          
                          class MainWindow(QMainWindow):
                              def __init__(self, parent=None):
                                  super().__init__(parent)
                          
                                  self.shadow = QGraphicsDropShadowEffect()
                                  self.shadow.setBlurRadius(10)  # Adjust the blur radius as needed
                                  self.shadow.setXOffset(5)      # Adjust the X offset as needed
                                  self.shadow.setYOffset(5)      # Adjust the Y offset as needed
                          
                                  self.button = QPushButton(self)
                                  self.button.setGraphicsEffect(self.shadow)
                          
                          if __name__ == '__main__':
                              app = QApplication()
                          
                              mainWindow = MainWindow()
                              mainWindow.show()
                          
                              app.exec()
                          

                          Do you know why? Hint: think about life time of "shadow" in the previous code.

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          poppypelt12P 2 Replies Last reply
                          2
                          • jsulmJ jsulm

                            @poppypelt12 You were asked to write MINIMAL script. You did not.
                            Here, I did it for you:

                            import sys
                            
                            from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QGraphicsDropShadowEffect
                            
                            class MainWindow(QMainWindow):
                                def __init__(self, parent=None):
                                    super().__init__(parent)
                            
                                    shadow = QGraphicsDropShadowEffect()
                                    shadow.setBlurRadius(10)  # Adjust the blur radius as needed
                                    shadow.setXOffset(5)      # Adjust the X offset as needed
                                    shadow.setYOffset(5)      # Adjust the Y offset as needed
                            
                                    self.button = QPushButton(self)
                                    self.button.setGraphicsEffect(shadow)
                            
                            if __name__ == '__main__':
                                app = QApplication()
                            
                                mainWindow = MainWindow()
                                mainWindow.show()
                            
                                app.exec()
                            

                            And no, I don't see any drop shadow.

                            poppypelt12P Offline
                            poppypelt12P Offline
                            poppypelt12
                            wrote on last edited by
                            #18

                            @jsulm Then pleaese how can i make a drop shadow? i searched everywhere on the internet but there is not much info on this and most of it is outdated, i really need your help

                            Live, laugh, love

                            1 Reply Last reply
                            0
                            • jsulmJ jsulm

                              @poppypelt12 This works:

                              import sys
                              
                              from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QGraphicsDropShadowEffect
                              
                              class MainWindow(QMainWindow):
                                  def __init__(self, parent=None):
                                      super().__init__(parent)
                              
                                      self.shadow = QGraphicsDropShadowEffect()
                                      self.shadow.setBlurRadius(10)  # Adjust the blur radius as needed
                                      self.shadow.setXOffset(5)      # Adjust the X offset as needed
                                      self.shadow.setYOffset(5)      # Adjust the Y offset as needed
                              
                                      self.button = QPushButton(self)
                                      self.button.setGraphicsEffect(self.shadow)
                              
                              if __name__ == '__main__':
                                  app = QApplication()
                              
                                  mainWindow = MainWindow()
                                  mainWindow.show()
                              
                                  app.exec()
                              

                              Do you know why? Hint: think about life time of "shadow" in the previous code.

                              poppypelt12P Offline
                              poppypelt12P Offline
                              poppypelt12
                              wrote on last edited by
                              #19

                              @jsulm Oh my god thank you so much!

                              Live, laugh, love

                              1 Reply Last reply
                              0
                              • jsulmJ jsulm

                                @poppypelt12 This works:

                                import sys
                                
                                from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QGraphicsDropShadowEffect
                                
                                class MainWindow(QMainWindow):
                                    def __init__(self, parent=None):
                                        super().__init__(parent)
                                
                                        self.shadow = QGraphicsDropShadowEffect()
                                        self.shadow.setBlurRadius(10)  # Adjust the blur radius as needed
                                        self.shadow.setXOffset(5)      # Adjust the X offset as needed
                                        self.shadow.setYOffset(5)      # Adjust the Y offset as needed
                                
                                        self.button = QPushButton(self)
                                        self.button.setGraphicsEffect(self.shadow)
                                
                                if __name__ == '__main__':
                                    app = QApplication()
                                
                                    mainWindow = MainWindow()
                                    mainWindow.show()
                                
                                    app.exec()
                                

                                Do you know why? Hint: think about life time of "shadow" in the previous code.

                                poppypelt12P Offline
                                poppypelt12P Offline
                                poppypelt12
                                wrote on last edited by
                                #20

                                @jsulm i am very thankful johann

                                Live, laugh, love

                                jsulmJ 1 Reply Last reply
                                0
                                • poppypelt12P poppypelt12

                                  @jsulm i am very thankful johann

                                  jsulmJ Offline
                                  jsulmJ Offline
                                  jsulm
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #21

                                  @poppypelt12 It is common mistake to declare a local variable which is destroyed as soon as it goes out of scope. Just be careful when declaring variables and think about scope and life time of objects.

                                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                                  1 Reply Last reply
                                  1

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt
                                  • Unsolved