I'd like to suggest an answer both to your question and to: this question
which seems a very similar problem, using SpatiaLite. Actually this issue of summing a value from a point layer into the data table of a polygon layer appeared also here
If I have two shapefiles, one a point shape called "locations", and the other a polygon layer called "districts", then I import both into a SpatiaLite database, and run the following query:
First add a column to the "districts" table for the point totals, i.e.
ALTER TABLE districts ADD COLUMN ttl_voters integer;
Then use this update to get the totals into the polygon attribute column:
UPDATE districts SET ttl_voters = ( SELECT SUM(num_voters) FROM locations WHERE ST_Contains(districts.geometry, locations.geometry) );
Now load the two spatialite layers into QGIS, and setup a color table for the districts based on the ttl_voters column. In the Layer Properties -> Style tab choose "rule-based" rendering, etc ...
HTH, Micha