Try wrapping some cheese in a tortilla. You can either leave it rolled up as is or you can slice it to make pinwheels.
Also, an great alternative to peanut butter is Nutella. It's a hazelnut spread that is often mistaken for CHOCOLATE! Who wouldn't want a chocolate sandwich? I grew up on the stuff and you used to only be able to get it at specialty stores. Now pretty much every grocery store has it. I get mine at Costco because it works out to be much cheaper for what you get.
Since she likes lettuce you can always pack her a nice salad with some fruit and maybe crackers on the side...goldfish, or even pretzles. I do that for my daughter quite often. I just stick it in a conainer and pack a small container of salad dressing or a little packet if I have one left over from carryout salad.
Will she eat pasta salad? That could be a nice change. You can dice up the carrots really little or shred them and throw 'em into the pasta salad. Maybe a few peas just to test the waters. I hate peas but will eat them if they are mixed into my food.
Yogurt is always a good thing to put into the lunch. If I find GoGurt on sale I will stick it in the freezer so it is ready to eat by lunch time. String cheese is always fun. I also let my kids have one "treat" as well. Like a pudding, or some sort of snack cake, even fruit snacks.
She may like granola bars.
You can also try having her help you pack her lunch. I find that my kids are more likely to eat it if they had a hand in what goes into it.
I keep a variety of those cracker type snacks and different fruits and just change it up every day or every few days. I let them buy the pizza lunch once a week too. Gives them something to look forward to.
My daughter will go through a phase where she only wants one kind of sandwich for a whole month but I change up the sides to keep it interesting.
Good Luck and Happy Eating!