…соответственно в коде нажатия кнопок устанавливаем эту shapeToDraw,
а paintEvent реагирует на неё.
setChecked(false) в обработчике paintEvent состояние кнопок должно однозначно соответствовать предложенному shapeToDraw, поэтому можно не вводить дополнительные сущности, а просто смотреть на состояние кнопок. Большинство человеческих текстов достаточно однородны, при принципе utf мы будем достаточно редко переключать регистр, на печать каждого символа будет уходить в среднем чуть больше одного нажатия клавиши. Если мы будем печатать тот же однородный текст принципом unicode, то будем каждый раз нажимать 9 клавиш.
Адреса функции известны ещё на этапе компиляции
Мне нужно считывать из файла строки с пробелами, оканчивающиеся символом переноса
scanf("%[^\n] ", str); (заметь пробел после форматной строки, извлекающий символ конца строки на котором остановился матчинг), и знать, что строка считана в str, но конец строки в неё не попал.
Какое-то мутное предложение. Покажи код, который не работает.