Interactive notebooks are a precious tool for creating graphical user interfaces and teaching materials. Python and Jupyter are becoming increasingly popular in this context, with Jupyter widgets at the core of the interactive functionalities. However, while packages and libraries which offer a broad range of general-purpose widgets exist, there is limited development of specialized widgets for computational physics, chemistry and materials science. This deficiency implies significant time investments for the development of effective Jupyter notebooks for research and education in these domains. Here, we present custom Jupyter widgets that we have developed to target the needs of these communities. These widgets constitute high-quality interactive graphical components and can be employed, for example, to visualize and manipulate data, or to explore different visual representations of concepts, clarifying the relationships existing between them. In addition, we discuss with one example how similar functionality can be exposed in the form of JupyterLab extensions, modifying the JupyterLab interface for an enhanced user experience when working with applications within the targeted scientific domains.