Layout is good, click boxes is wrong
This commit is contained in:
38
deftest.py
Normal file → Executable file
38
deftest.py
Normal file → Executable 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())
|
||||
|
||||
Reference in New Issue
Block a user