I see there were plugins in the past that may have done this such as qgis2kml and qgis2google, but they no longer exist.
Once you have loaded your shape file in qgis, right click on it in the legend, select save as, then select 'Keyhole markup language' as your format, spatial ref. sys. Must be set to epsg 4326. Then select a file path, where the kml will be saved. A little under this, theres an option export symbology. You should select the option 'export feature symbology'. Also one good thing to do is (also in this dialog), clamping features to ground, otherwise you might see your polygons/polylines partially dissappear when you zoom in/out in google earth for example.
You can use the MMQGIS plugin. (http://michaelminn.com/linux/mmqgis/). In the Menu "Import/Export". select the option "Google Maps KML Export". It works for me. You need to keep in mind that if you are converting a polygon with a lot of vertex, Google Earth will not be able to visualize it properly.