I've tried beads, buttons and all sorts on my pincushions to cover up the stitches used to bring top and bottom tightly together (oh, if only I could manage that myself!). I did look at self-covered buttons but they were all too big for what I wanted to use them for. (Actually, I was just too mean to pay 18p each for them). So, I came up with the idea of using washers. I bought a packet from Wilkinsons for 79p (love a bargain!).
I cut out a circle of wadding about 1/3rd bigger all round than the diameter of the washer and a circle of fabric the same size.
The unexpected beauty of using the washer, is that the hole in the centre allows you to position the fabric and centralise part of the fabric's design.
Here, you can see (if you have the eyesight of a hawk) that I am taking running stitches around the edge of the fabric and wadding circle - after first making a knot big enough to see from Space). Then, you pull it up tight around the washer. I had to take a further few stitches from side to side on the back to make it all lie nice and flat. Then, tie off securely. Sew them on the top and bottom of your pincushion (or on clothing, bags, blah, blah, blah). They will not need to take any of the strain from tightening the pincushion together, so I just make a cross stitch in the centres to attach them. You could also add a bead on top, a fancy embroidery stitch or anything else you can come up with. There you have it - fabric covered buttons for a fraction of the price!