Yujian Yao

Software Engineer

EMB Desktop Client


A simple desktop client for Hwa Chong Institution College Section EMB written in C++ with Qt. Coded in collaboration with Jessica

You can refer to this webpage for detailed description. Or go to the Sourceforge page here. Below is the screenshot:

The code is a bit messy as it is the first 'complete' Qt Program I have written. I also feel that all the functionalities could have been implemented in HTLM5, which could also provide more flexibility in styling.

Nevertheless, the Qt Stylesheet is fantastic. I have never imagined that customizing a program UI could be as simple as writing CSS codes. It also allows me to test out different UI settings, which is very helpful given C++'s slow compiling. However, it is not all perfect. One significant annoyance is that sometimes the QPalette will inherit the Stylesheet while sometimes it won't. For example, I can't set the background of the column taken over by QAbstractItemDelegate as the gradient in Stylesheet. At the end, it turns out I have to set the gradient in the painter() function.

There is one very annoying bug which I really don't know how to solve. As I added the Chinese support, some English letters went wrong and became weird symbols.

Anyway it was a very fun experience to write a program that's meaningful for someone other than me. Also working with someone artistic really gives me much insight about UI design.

Update: just found a bug that causes the background of the 'new item today' to be white instead of green. This is caused by the delegate class which does not automatically set background! Sorry didn't realize the bug yesterday because there wasn't any new items yesterday...