Hello Chris,
Good question. There isn’t a built in way to exclude categories, but you can do that with a bit of editing. The file you want to change is widget-posts.php and this is the section:
$query_args = array(
'post_type' => 'post',
'cat' => $instance['posts_cat'],
'showposts' => $instance['posts_num'],
'orderby' => $instance['orderby'],
'order' => $instance['order'],
);
Those are the arguments for a wp_query instance that the widget runs. WP Query has lots of options in it (http://codex.wordpress.org/Class_Reference/WP_Query). You probably want something like this:
'category__not_in' => array( 2, 6 )
which lets you exclude categories by ID. That would change the above code to something like this:
$query_args = array(
'post_type' => 'post',
'cat' => $instance['posts_cat'],
'showposts' => $instance['posts_num'],
'orderby' => $instance['orderby'],
'order' => $instance['order'],
'category__not_in' => array( 2, 6 ),
);
Where 2 and 6 are the ID’s of the categories you want to leave out.
See how that works for you.
Enjoy your Saturday,
Bill