.. sectnum:: Oefeningen ICTPR2 2021-03-08 ============================= Opgave: BMI ----------- Schrijf een Qt applicatie waarin je gewicht en lengte kunt invoeren via twee input-widgets. Verder voorzie je een knop `Bereken` die de BMI berekent en toont in een label widget. De titel van je app is "BMI calculator". Opgave: Resolve DNS ------------------- Schrijf een Qt applicatie waarin je een website adres kunt ingeven, en na een druk op een knop het IP-adres verschijnt. Opgave: Imperial naar metric ----------------------------- Schrijf een Qt applicatie waarin je een lengte kunt ingeven in "feet" en "inches" en de overeenkomstige afstand in meters en centimeters getoond wordt. Opgave: Webpagina downloaden ---------------------------- Schrijf een Qt applicatie waarin je een URL kunt ingeven en een bestandsnaam. Haal de HTML van de webpagina af met `requests` en sla de HTML op in het bestand met de opgegeven bestandsnaam. Opgave: TTS ----------- Schrijf een Qt applicatie waarin je een tekst kunt ingeven en dit naar spraak omgezet wordt. Opgave: Bitcoin koers --------------------- Schrijf een Qt applicatie waarin je de huidige waarde van de Bitcoin kunt zien. Er is een button voorzien "Refresh" die na een klik ervoor zorgt dat je de huidige koers ziet. Gebruik hiervoor de volgende modules: - Qt - requests - json De volgende URL kan je gebruiken om de Bitcoin koers te downloaden: https://api.coindesk.com/v1/bpi/currentprice.json Opgave: Telefoonboek -------------------- Schrijf een Qt applicatie waarin je een velden voor naam, achternaam, telefoonnummer, emailadres kunt invullen. Voorzie een knop "Save" waarmee je de informatie kunt opslaan (gebruik hiervoor de Python module `shelve`). Voorzie ook een knop "Search". Als je op deze knop klikt, zoek je de informatie op en toon je de informatie in de overeenkomstige velden. Opgave: Gewichtlogboek ---------------------- Schrijf een Qt applicatie waarin je je gewicht kunt ingeven. Het programma slaat je gewicht samen met de huidige datum op via de Python module `shelve`. Hint: datetime.date.today() Opgave: UDP client ---------------------- Schrijf een Qt programma waarin je een tekst kunt intypen, een poortnummer en een IP-adres. Verder voorzie je een button `Send`. Als je op de button klikt, wordt de tekst via UDP naar het IP-adres gestuurd op de vermelde poort. Opgave: UDP client ---------------------- Schrijf een Qt programma waarin je een tekst kunt intypen, een poortnummer en een IP-adres. Verder voorzie je een button `Send`. Als je op de button klikt, wordt de tekst via UDP naar het IP-adres gestuurd op de vermelde poort. Ideeën ====== - BMI Qt: OK - DNS resolve Qt: OK - Unit conversie Qt: OK - Speech (TTS) Qt: OK - Website download Qt: OK - UDP Qt: OK - Adresboek Qt shelve: OK - Koers Qt - Gewichtlogboek Qt shelve: OK - UDP temperatuur client/server - Scorebord UDP - Scorebord HTTP - Qt UDP remote control Raspberry Pi - Qt Bitcoin koers (https://api.coindesk.com/v1/bpi/currentprice.json): OK - Qt movie info (https://omdbapi.com) - Qt weerbericht (https://openweathermap.org/api) - UDP client zendt temperatuur en tijd naar UDP server