Переменные, объявленные в определении класса, но не в методе, являются переменными класса или статическими переменными:
>>> class MyClass:
... i = 3
...
>>> MyClass.i
3
Как millerdev указывает, это создает переменную уровня класса i
, но это отлично от любой переменной уровня экземпляра i
, таким образом, Вы могли иметь
>>> m = MyClass()
>>> m.i = 4
>>> MyClass.i, m.i
>>> (3, 4)
, Это отличается от C++ и Java, но не так отличается от C#, где к статическому участнику нельзя получить доступ с помощью ссылки на экземпляр.
Видят , что учебное руководство Python должно сказать на предмет классов и объектов класса .
@Steve Johnson уже ответил относительно статические методы , также зарегистрировал под , "Встроенные функции" в Справочном руководстве по библиотеке .
class C:
@staticmethod
def f(arg1, arg2, ...): ...
Python @beidy рекомендуют classmethod с по staticmethod, поскольку метод тогда получает тип класса как первый аргумент, но я все еще немного нечеток на преимуществах этого подхода по staticmethod. Если Вы также, то это, вероятно, не имеет значения.
Возможно начиная с XP. Проверьте сообщение EM_SETCUEBANNER . Однако есть определенные проблемы , из-за которых он не работает так, как должен, в XP, поэтому лучше всего, если вы имеете дело с Vista.
Если он вам нужен для Win2k или более старых версий, вы Вам нужно будет сделать это самостоятельно, по крайней мере, на этих платформах.
Возможно, но почему бы просто не установить текст и цвет по умолчанию по мере необходимости и не очистить их с помощью события «onClick»?
Спасибо за этот вопрос, я смогу использовать его в будущем. FWIW (вероятно, немного), вот реализация на Delphi:
procedure TForm1.FormShow(Sender: TObject);
const
ECM_FIRST = $1500;
EM_SETCUEBANNER = ECM_FIRST + 1;
begin
SendMessage(edt.Handle,EM_SETCUEBANNER,0,LParam(PWideChar(WideString('Enter search here'))));
end;
Одна возможность: сделать его рисованным владельцем и вручную нарисовать на нем текст, если свойство .Text пусто.
Вам не нужно рисовать владельцем, он встроен в API пользователя (баннер) См. Winapi grp для примеров (на языке C)