Skip to content
Snippets Groups Projects
  1. Mar 06, 2020
    • Thomas Holene Løkkeborg's avatar
      #32 ignoring flake8 error because outdated · f33d6a6c
      Thomas Holene Løkkeborg authored
      see https://www.flake8rules.com/rules/W503.html
      
      previously the best practice for python was to put a linebreak after a binary operator, but going forward pep8 wants a linebreak before a binary operator. It's explained in the link above. There are errors for both of these cases, and previously they were both enabled... I disable this one because it's going against pep8
      
      so to be clear: in our code going forward linebreaks need to be placed BEFORE binary operators
      f33d6a6c
    • Thomas Holene Løkkeborg's avatar
      #32 fikset lintingfeil · 7aca7766
      Thomas Holene Løkkeborg authored
      7aca7766
    • Thomas Holene Løkkeborg's avatar
    • Thomas Holene Løkkeborg's avatar
      #32 shortcuts fungerer nå ved flere TableModules i samme scene · 12dc6fc9
      Thomas Holene Løkkeborg authored
      Å legge til noen rader, for så å fjerne noen rader fungerer ikke, men dette er trolig ikke et problem med keyPressEvent
      
      Under følger en snippet som viser hva som ikke fungerte før:
      ```python
      from PySide2.QtWidgets import QVBoxLayout, QApplication, QWidget, QGraphicsScene, QGraphicsView, QTableWidget, QShortcut, QHBoxLayout
      from PySide2.QtGui import QKeySequence
      from PySide2.QtCore import Qt
      
      class QTableWidthWithShortcuts(QTableWidget):
          def __init__(self, *args, **kwargs):
              super(QTableWidthWithShortcuts, self).__init__(*args, **kwargs)
              shortcut = QShortcut(QKeySequence("Shift++"), self, context=Qt.WidgetWithChildrenShortcut)
              shortcut.activated.connect(self.say_hello)
      
          def say_hello(self):
              print("Hello")
      
      app = QApplication()
      
      # inside QGrahpicsScene
      # shortcuts don't work..
      scene = QGraphicsScene()
      view = QGraphicsView(scene)
      t1 = QTableWidthWithShortcuts(2,2)
      t1.move(0,0)
      scene.addWidget(t1)
      t2 = QTableWidthWithShortcuts(2,2)
      t2.move(300,0)
      scene.addWidget(t2)
      view.show()
      
      # inside QHBoxLayout
      # shortcuts work!!
      layout = QHBoxLayout()
      t1 = QTableWidthWithShortcuts(2,2)
      layout.addWidget(t1)
      t2 = QTableWidthWithShortcuts(2,2)
      layout.addWidget(t2)
      wrapper_widget = QWidget()
      wrapper_widget.setLayout(layout)
      wrapper_widget.show()
      
      app.exec_()
      ```
      
      Her er en snippet som viser hvordan denne løsningen unngår problemet over:
      ```python
      from PySide2.QtWidgets import QVBoxLayout, QApplication, QWidget, QGraphicsScene, QGraphicsView, QTableWidget, QShortcut, QHBoxLayout
      from PySide2.QtGui import QKeySequence
      from PySide2.QtCore import Qt
      
      class QTableWidthWithShortcuts(QTableWidget):
          def __init__(self, uid, *args, **kwargs):
              super(QTableWidthWithShortcuts, self).__init__(*args, **kwargs)
              self.uid = uid
      
          def keyPressEvent(self, event):
              if event.key() == Qt.Key_Question:
                  print("{}: Shift and plus!".format(self.uid))
              elif event.modifiers() == Qt.ShiftModifier and event.key() == Qt.Key_Underscore:
                  print("{}: Shift and minus!".format(self.uid))
              elif event.modifiers() == Qt.ControlModifier and event.key() == Qt.Key_Plus:
                  print("{}: Ctrl and plus!".format(self.uid))
              elif event.modifiers() == Qt.ControlModifier and event.key() == Qt.Key_Underscore:
                  print("{}: Ctrl and minus!".format(self.uid))
              else:
                  super(QTableWidthWithShortcuts, self).keyPressEvent(event)
      
      app = QApplication()
      
      scene = QGraphicsScene()
      view = QGraphicsView(scene)
      t1 = QTableWidthWithShortcuts("A", 2,2)
      t1.move(0,0)
      scene.addWidget(t1)
      t2 = QTableWidthWithShortcuts("B", 2,2)
      t2.move(300,0)
      scene.addWidget(t2)
      view.show()
      
      app.exec_()
      ```
      12dc6fc9
  2. Mar 05, 2020
  3. Mar 04, 2020
  4. Mar 03, 2020
  5. Mar 02, 2020
  6. Mar 01, 2020
  7. Feb 29, 2020
  8. Feb 28, 2020
Loading