Layout is good, click boxes is wrong

This commit is contained in:
Christopher T. Johnson
2024-05-07 11:26:15 -04:00
parent 51b1121176
commit 7d2532d775
6 changed files with 568 additions and 574 deletions

38
deftest.py Normal file → Executable file
View File

@@ -3,24 +3,32 @@ import faulthandler
import os
import signal
import sys
from typing import cast
from typing import Any, cast
from PyQt6.QtCore import QResource, QSettings
from PyQt6.QtCore import QResource, QSettings, Qt
from PyQt6.QtGui import QFontDatabase
from PyQt6.QtSql import QSqlDatabase, QSqlQuery
from PyQt6.QtWidgets import QApplication
from PyQt6.QtWidgets import QApplication, QScrollArea
from lib import DefinitionArea, Word
from lib import Word
from lib.sounds import SoundOff
from lib.utils import query_error
from lib.words import Definition
class DefinitionArea(QScrollArea):
def __init__(self, w: Word, *args: Any, **kwargs: Any) -> None:
super(DefinitionArea, self).__init__(*args, *kwargs)
d = Definition(w)
self.setWidget(d)
self.setWidgetResizable(True)
self.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
return
def monkeyClose(self, event):
settings = QSettings("Troglodite", "esl_reader")
settings.setValue("geometry", self.saveGeometry())
super(DefinitionArea, self).closeEvent(event)
return
def closeEvent(self, event):
settings = QSettings("Troglodite", "esl_reader")
settings.setValue("geometry", self.saveGeometry())
super(DefinitionArea, self).closeEvent(event)
return
def main() -> int:
@@ -66,12 +74,15 @@ def main() -> int:
):
query_error(query)
word = Word("cowbell")
word = Word("lower")
snd = SoundOff()
DefinitionArea.closeEvent = monkeyClose
print("Pre widget")
widget = DefinitionArea(word) # xnoqa: F841
print("post widget")
settings = QSettings("Troglodite", "esl_reader")
widget.restoreGeometry(settings.value("geometry"))
geometry = settings.value("geometry")
if geometry is not None:
widget.restoreGeometry(geometry)
d = cast(Definition, widget.widget())
assert d is not None
d.pronounce.connect(snd.playSound)
@@ -81,4 +92,7 @@ def main() -> int:
if __name__ == "__main__":
faulthandler.register(signal.Signals.SIGUSR1)
faulthandler.register(signal.Signals.SIGTERM)
faulthandler.register(signal.Signals.SIGHUP)
faulthandler.enable()
sys.exit(main())