![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_Гость_progmax_*_* |
![]() ![]()
Сообщение
#1
|
Гости ![]() |
Есть такой код:
testtest - основное приложение где происходит запрос к базе. doUserNameCheckFree - проверяет наличие логина в базе. из приложения testtest вызывается userRegistrationDialog->updateRegistrationForm(); дабы обновить поля формы. И нифига не работает!, точнее работает заходит в условие ставит ui.EmailEdit->setEnabled(false); НО форма НЕ перерисовывается, то-есть виджеты не обновляются. прошу помощи, пробовал вызывать ui.layoutWidget->update(); ui.layoutWidget->repaint(); не помогает. |
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
abc, это потому что TYPE& по умолчанию и без проблем приводится к const TYPE&. С указателями так же
Если сильно придирчиво подойти к вопросу, то константный локальных или стековых переменных вообще не бывает, их содержимое можно легко поменять при надобности. Но необходимость этого - признак кривого проектирования (либо прям ваще суровая необходимость, пример чуть ниже приведу) Если же переменная не должна поменяться, всегда делай её const. Просто на всякий случай ![]() И тот самый пример (для винды, правда): имеется класс, одним из членов которого является объект критичесвкой секции. Также имеется константный метод (читаем что-либо из массива, инкапсулированного внутри класса). Вроде всё возможно, так как чтение не меняет массив. Но тут такая неприятность, что у объекта критической секции метод Lock неконстантный. Вот и придётся принудительно привести this к неконстантному типу, чтобы было возможно вызвать метод |
|
|
BRE |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
И тот самый пример (для винды, правда): имеется класс, одним из членов которого является объект критичесвкой секции. Также имеется константный метод (читаем что-либо из массива, инкапсулированного внутри класса). Вроде всё возможно, так как чтение не меняет массив. Но тут такая неприятность, что у объекта критической секции метод Lock неконстантный. Вот и придётся принудительно привести this к неконстантному типу, чтобы было возможно вызвать метод А почему для этого не воспользоваться модификатором mutable? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.7.2025, 21:47 |