100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
INF2611 Revision R49,82   Add to cart

Exam (elaborations)

INF2611 Revision

1 review
 35 views  7 purchases

INF2611 Revision. Detailed work, solutions, memos, notes, and explanations

Preview 4 out of 33  pages

  • October 21, 2023
  • 33
  • 2023/2024
  • Exam (elaborations)
  • Questions & answers
All documents for this subject (15)

1  review

review-writer-avatar

By: ndinannyijusticemukwevho1 • 8 months ago

avatar-seller
Excellentstudyresources001
INF2611 Revision.

, Chapter Summaries Module: INF2611



Chapter 9 – Advanced Widgets

9.1. Displaying System Clock Time in LCD Format




 To display LCD‐like digits, you use the LCD Number widget, an instance of the QLCDNumber class.
 To perform a repetitive task, you use a timer. A timer is an instance of the QTimer class.
 To use, create an instance of QTimer and connect its timeout() signal to the slot that performs the
desired task.
 To fetch the system clock time and measure a span of elapsed time, you use the QTime class. The
returned info can be converted into text with the toString() method.


CLASS METHODS USE
QLCDNumber setMode() Change the base of the numbers (Hex, Dec, Oct, Bin).
display() Display the specified content as LCD digits.
value() Return the value displayed by the widget.
QTimer timeout()
start(n) Generate a timeout() at n millisecond intervals.
setSingleShot(true) Generate a timeout() signal only once.
singleShot(n) Generate a timeout() signal only once after n milliseconds.
QTime currentTime() Fetches the system’s clock time as a QTime object.
hour(), minute(), Return the number of hours, minutes, seconds or millisecs.
seconds(), msecs()
addSecs(), addMSecs() Return time after adding specified number of seconds/msecs.
secsTo(), msecsTo() Return the number between two times.

In the following example, an instance of QTimer is created with the name timer, and it’s timeout() signal is
connected to showlcd(), a function that is invoked every 1000 milliseconds.


import sys
from disptime import *

class MyForm(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)

timer = QtCore.QTimer(self)
timer.timeout.connect(self.showlcd)
timer.start(1000)


_______________________________________________________________________________________
Page 1 of 32

, Chapter Summaries Module: INF2611

self.showlcd()

def showlcd(self):
time = QtCore.QTime.currentTime()
text = time.toString('hh:mm')
self.ui.lcdNumber.display(text)

if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())



 Conversion of ui file to py file: > pyuic4 filename.ui -o filename.py



9.2. Working With Calendar and Displaying Dates in Different Formats




 To display a monthly calendar, you use the Calendar widget, which is an instance of the
QCalendarWidget class. By default, current month and year are shown with days in abbreviated form
(Sun, Mon, Tue etc.). Weekends are marked in red and the first column day is Sunday.
 The date that is selected is returned as a QDate object. It reads the current date from the system clock.
 For displaying and editing dates, use the Date Edit widget, which is an instance of the QDateEdit class.


WIDGET PROPERTIES DESCRIPTION
Calendar minimumDate, maximumDate Used to specify the min/max date range.
selectionMode Set to NoSelection to prohibit user selection.
verticalHeaderFormat Set to NoVerticalHeader to remove week numbers.
gridVisible Set to True to turn on Calendar grid.
HorizontalHeaderFormat SingleLetterDayNames, ShortDatNames,
LongDayNames

Date Edit minimumDate, maximumDate


CLASS METHODS USE
QCalendarWidget selectedDate() Returns currently selected date, month, year.
monthShown()
yearShown()

_______________________________________________________________________________________
Page 2 of 32

, Chapter Summaries Module: INF2611

setFirstDayOfWeek() Set the day in the first column.
selectionChanged() Emits when the user selects another date.
QDateEdit setDate()
setDisplayFormat() Options: dd.MM.yyyy, MMM.d.yy, MMM.d.yyyy,
MMMM.d.yy

QDate currentDate() Returns system date as QDate object.
setDate() Sets a date by specifying year, month, day.
year(), month(), day() Returns the year, month or day from the date object.
dayOfWeek() Returns the day of the week from the date object.
addDays(), addMonths(), Adds the specified number and returns new date.
addYears()
daysTo() Return the number of days between two dates.
daysInMonth(),
daysInYear()
isLeapYear() Returns true or false.
toPyDate() Returns date as a string. Accepts a format parameter, for
example: dd.MM.yyyy
Options are d (1‐31), dd (01‐31), ddd (Mon, Tue, etc.),
dddd (Monday, Tuesday, etc.), M (1‐12), MM (01‐12), MMM
(Jan, Feb, etc.), MMMM (January, February, etc.), yy (00‐99),
yyyy (1999, etc.).


In the example, the selectionChanged() signal of the Calendar widget is connected to dispdate(), a function
which retrieves the user selected date through the selectedDate() method, and displays it in the Date Edit
widget through setDate(). Optional: set the date format using setDisplayFormat().


import sys
from dispcalendar import *

class MyForm(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)

QtCore.QObject.connect(self.ui.calendarWidget,
QtCore.SIGNAL('selectionChanged()'), self.dispdate)

def dispdate(self):
self.ui.dateEdit.setDisplayFormat('MMM d yyyy')
self.ui.dateEdit.setDate(self.ui.calendarWidget.selectedDate())

if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())



_______________________________________________________________________________________
Page 3 of 32

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through EFT, credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying this summary from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller Excellentstudyresources001. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy this summary for R49,82. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

73918 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy summaries for 14 years now

Start selling
R49,82  7x  sold
  • (1)
  Buy now