Search code examples
language-agnostic

Is there any difference between a control and a widget?


I am asking this as I have to prepare technical documentation for a product. Is there any difference between a control and a widget? E.g., given this control, would you rather call it a widget? Going by wikipedia, it seems both terms can be used interchangeably. Is that correct?


Solution

  • While there might be a formal definition out there in someone's dictionary that draws some subtle distinction between two terms, I'd say for all practical purposes, they're interchangeable.

    I've met a number of UI designers, developers, etc. who just interchange those terms left and right. "List control", "List widget", and even occasionally, "List gadget".

    I've even seen GUI toolkits out there basically define a "widget" as a "UI control" and a "UI control" as a "widget", giving us a nice recursive definition.

    If you look at something like Qt, "every UI control inherits from a QWidget" (everything from buttons to the most sophisticated controls).

    Given how many people use these terms interchangeably, I'd say it's perfectly acceptable to do the same, even in a technical document. That's not to say that the status quo defines correctness, but I'm not aware of any authority that defines this beyond the status quo. Perhaps you could do better than most by just consistently sticking with one of these two terms.