- 技術 💻
ウィジェットとは|意味とスマホ・Windows・Macの追加と消し方
結論
ウィジェットとは、画面に置いて、アプリを開かずに情報を見たり操作したりできる小さな部品です。天気・時計・予定の表示が代表例です。
この記事でわかること
- 5つの分野で違う「ウィジェット」の見分け表
- iPhone・Android・Windows・Mac の追加と消し方の手順
- 自作の時計ウィジェットを Chromium で動かした実物
「ウィジェット」は、どこに置く部品かで指すものが変わります。スマホやパソコンの画面に置くものと、Web ページに埋め込むもの、プログラムで画面を組み立てる部品の3つに分かれます。
flowchart TD
A[ウィジェット<br>小さな部品] --> B[スマホ・PC<br>の画面]
A --> C[Web<br>ページ]
A --> D[アプリを<br>作る部品]
急いでいる人向けに、よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| iPhone で追加する | 空きを長押し → 編集 → ウィジェットを追加 | iPhone |
| iPhone で消す | ウィジェットを長押し → ウィジェットを削除 | iPhone |
| Android で追加する | 空きを長押し → ウィジェット | Android |
| Windows 11 で開く | Windows キー+W | Windows 11 |
| タスクバーの天気を消す | タスクバーの設定でウィジェットをオフ | Windows 11 |
| ニュースを出さない | ウィジェットの設定で「検出」をオフ | Windows 11 |
| Mac で置く | 壁紙を Control+クリック → ウィジェットを編集 | Mac |
| 更新されない | 更新の回数には上限がある。アプリを開く・再起動 | 表示・更新されない |
| Flutter の Widget | 画面を組み立てる部品。木の形に組む | プログラミング |
確認環境:iPhone の操作は Apple サポート「iPhoneでウィジェットを追加・編集する方法」「iPhoneを再起動する」、Android は Android ヘルプ「アプリ、ショートカット、ウィジェットをホーム画面に追加する」、Windows は Microsoft サポート(Windows のウィジェットで最新の状態を保つ、Windows でタスク バーをカスタマイズする、ロック画面のカスタマイズ、ニュースと関心事項、Windows Web エクスペリエンス パックを更新する方法)と Microsoft Learn(ポリシー CSP の NewsAndInterests、デスクトップ ガジェットが削除されました)、Mac は Apple サポート「Macでウィジェットを追加する/カスタマイズする」と Apple Newsroom、更新のしくみは Apple Developer(WidgetKit)と Android Developers(App widgets・Glance)、Flutter は docs.flutter.dev、Qt は doc.qt.io、WordPress は wordpress.org のドキュメント、Google カレンダーの埋め込みは Google カレンダー ヘルプで確かめました。Web のウィジェットは、Ubuntu 24.04.4 LTS で Chromium 141.0.7390.37(Playwright)と Python 3.11.15 の HTTP サーバーを使って自作の HTML を表示し、GUI の部品の木は Textual 8.2.8 で確かめました(確認日 2026年10月23日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「ウィジェットとは|意味とスマホ・Windows・Macの追加と消し方」
ウィジェットとは(意味を簡単に)
この節では、ウィジェットという言葉の意味と、アプリやガジェットとの違いが分かります。
ウィジェットは、ホーム画面やデスクトップに置いて、アプリの情報の一部をそのまま見せる小さな表示です。 アプリを開かなくても、天気・時刻・今日の予定・電池の残りなどがひと目で分かります。ボタンが付いていて、その場で簡単な操作ができるものもあります。
英語の widget は、もともと「名前を特に気にしない小さな部品・道具」を指す言葉です。Merriam-Webster の英英辞典では、意味の1つとして「特定の情報を提供するように作られた小さなソフトウェアのアプリケーション」を挙げ、メモを取る・別のアプリを操作するといった機能を持つものも含むとしています。
1開かずに見られる
天気や予定を、アプリを起動せずにホーム画面で確かめられる。
2その場で操作できる
音楽の再生・リマインダーのチェックなど、ボタンで小さな操作ができるものがある。
3大きさを選べる
同じウィジェットでも、小・中・大など表示する量に合わせてサイズを選べる。
4自動で新しくなる
表示はアプリやシステムが決めた間隔で更新される。常に動き続けるわけではない。
アプリとウィジェットの違い
| 比べること | アプリ | ウィジェット |
|---|---|---|
| 置き方 | アイコンをタップして開く | 画面に置いたまま中身が見える |
| できること | そのアプリのすべての機能 | 一部の情報の表示と、小さな操作 |
| 更新 | 開いているあいだに動く | システムが決めた間隔で描き直す |
| 消すと | アプリを削除するとデータも消える | ウィジェットを外すだけで、アプリは残る |
ウィジェットは、アプリが用意する「見せ方の1つ」です。 ウィジェットはアプリに含まれていて、アプリを入れると、そのアプリが用意しているウィジェットが追加の候補に出てきます。Android ヘルプも「一部のアプリにはウィジェットが含まれています」と説明しています。
ウィジェットとガジェットの違い
Windows Vista・7 にあった「デスクトップ ガジェット」は、いまの Windows のウィジェットに近い、デスクトップに置く小さなプログラムでした。 Microsoft Learn によると、ガジェットは「ライブ タイルとアプリ」に役割を移して非推奨になり、悪用されるおそれのある弱点も抱えていたため、Windows 8 から完全に削除されました。Windows 11 で同じ役割を受け持つのが、この記事で説明するウィジェットです。日本語の「ガジェット」は、小さな電子機器を指すことも多い言葉です。
分野別の「ウィジェット」の見分け表(スマホ・Windows・Mac・Web・GUI)
この節では、自分が調べている「ウィジェット」がどれにあたるかが分かります。
同じ言葉でも、使う人と置く場所で中身が違います。 次の表で、自分の場面の行を見つけてから、その節へ進みます。
| 分野 | 何のこと | 置く場所・使う人 |
|---|---|---|
| スマホ(iPhone・Android) | ホーム画面・ロック画面に置く情報の表示 | スマホを使う人 |
| Windows 11 | ウィジェット ボードに並ぶカードと、タスクバーの天気 | PC を使う人 |
| Mac | デスクトップと通知センターに置く表示 | Mac を使う人 |
| Web(埋め込み) | 別のサービスの表示をページに貼る部品。WordPress のサイドバーの部品 | サイトを作る人 |
| GUI・プログラミング | ボタンや文字など、画面を組み立てる部品(Flutter の Widget、Qt の QWidget) | アプリを作る人 |
使う人のウィジェット
スマホ・PC の画面に置いて、情報を見る
アプリが用意したものを選んで置く
追加・移動・削除は長押しや右クリック
作る人のウィジェット
Web ページやアプリの画面の部品
HTML やプログラムで組み立てる
部品を入れ子にした「木」の形になる
よく使われるウィジェットの例
| 種類 | 表示すること | 向いている場面 |
|---|---|---|
| 天気 | 気温・天気・雨の予報 | 出かける前に見る |
| 時計・世界時計 | いまの時刻、別の都市の時刻 | 海外とのやり取り |
| カレンダー | 今日・次の予定 | 予定の確認 |
| リマインダー・ToDo | やることの一覧とチェック | タスクの管理 |
| 電池 | スマホ・イヤホンなどの電池の残り | 充電の判断 |
| 写真 | 選んだ写真・思い出の写真 | 画面を飾る |
| ニュース | 見出しの一覧 | すき間の時間 |
ウィジェットを置きすぎると、ホーム画面の場所をとります。また、ウィジェットの描き直しは電池と通信を使います。Apple の開発者向け文書は、ウィジェットの再読み込みは通信と処理で電池を使うため、回数を必要な分に絞るよう開発者に求めています。
iPhoneのウィジェットの追加・編集・削除
この節では、iPhone のホーム画面・ロック画面・今日の表示にウィジェットを置く手順と、消し方が分かります。
ホーム画面の空いている所を長押しし、左上の編集ボタンから「ウィジェットを追加」を選びます。 以下の手順とボタンの名前は、Apple サポート「iPhoneでウィジェットを追加・編集する方法」に合わせています。
ホーム画面に追加する
ウィジェットか空きスペースを長押しする
アプリが揺れ始めたら指を放す。
左上の編集ボタン →「ウィジェットを追加」
追加できるウィジェットの一覧が出る。
ウィジェットとサイズを選び「ウィジェットを追加」
左右にスワイプしてサイズを選ぶ。
完了ボタンをタップ
置き場所を変えたいときは、完了の前にドラッグする。
ロック画面・今日の表示に追加する
| 置く場所 | 手順 | 使える iOS |
|---|---|---|
| ロック画面 | ロック画面を長押し →「カスタマイズ」→「ウィジェットを追加」→ ウィジェットをタップかドラッグ →「完了」 | iOS 16 以降 |
| 今日の表示 | ホーム画面かロック画面で右にスワイプ → 空きを長押し → 編集ボタン →「ウィジェットを追加」→ 完了 | — |
ロック画面に置ける数には限りがあり、場所が足りないときは、削除ボタンで今あるウィジェットを外してから追加します。
編集する・スタックにまとめる
- 中身を変える:今日の表示でウィジェットを長押しし、「ウィジェットを編集」をタップする。表示する都市や予定のカレンダーなどを選べる(選べる項目はアプリによる)。
- 場所を変える:ホーム画面で長押しし、「ホーム画面を編集」をタップしてドラッグする。
- スマートスタック:「ウィジェットを追加」の一覧を下にスクロールして「スマートスタック」を選ぶ。複数のウィジェットが重なり、時間や場面に合わせて前に出るものが変わる。
- 自分でスタックを作る(iOS 14 以降):編集の状態で、ウィジェットを別のウィジェットの上にドラッグする。1つのスタックには最大 10 個まで重ねられる。
- スタックを編集する:スタックを長押しし、「スタックを編集」で並べ替え、「スマートローテーション」と「ウィジェットの提案」(iOS 15 以降)のオン・オフを切り替える。
ウィジェットを削除する(消し方)
消したいウィジェットを長押しする
メニューが開く。
「ウィジェットを削除」→「削除」
確認の画面でもう一度「削除」をタップする。
「ウィジェットを削除」は、画面からウィジェットを外す操作です。 アプリそのものを消す「App を削除」とは別の項目なので、ウィジェットを消してもアプリと中のデータは残ります。
Androidのウィジェットの追加・サイズ変更・削除
この節では、Android のホーム画面にウィジェットを置く・大きさを変える・外す手順が分かります。
ホーム画面の空いている所を長押しし、ウィジェットのアイコンをタップします。 Android ヘルプは、手順の一部は Android 14 以上でのみ動くと注意しています。ホームアプリ(ランチャー)や機種によって、メニューの名前や位置が違うことがあります。
ホーム画面の空いている所を長押しする
メニューが出る。
ウィジェットのアイコンをタップする
ウィジェットを持つアプリの一覧が出る。アプリをタップすると、そのアプリのウィジェットが並ぶ。
ウィジェットを長押しして置きたい場所へ
ホーム画面の画像が出たら、置きたい場所までスライドして指を離す。
| やりたいこと | 操作(Android ヘルプより) |
|---|---|
| サイズを変える | ウィジェットを長押しして指を放す → 枠線の横の点をドラッグ → ウィジェット以外の場所をタップ |
| 移動する | タップしてドラッグ → 置きたい場所までスライド → 指を放す |
| 削除する | 長押し →「削除」のアイコンまでドラッグ → 指を離す |
サイズを変えられるウィジェットだけ、枠線の横に点が出ます。削除は、ホーム画面に表示しなくなるだけの操作です。 Android ヘルプは、「削除」の場合はホーム画面に表示されなくなるだけで、「アンインストール」の場合にアプリが端末から削除される、と区別しています。
Windows 11のウィジェット(開き方・消し方・ニュースを表示しない)
この節では、Windows 11 のウィジェットの開き方と、タスクバーの天気・ニュースを消したいときにどこを切り替えるかが分かります。
Windows 11 のウィジェットは、Windows キー+W で開く「ウィジェット ボード」に並ぶカードです。 タスクバーの左端などに出る天気の表示も、このウィジェットの入口です。Microsoft サポートによると、タスクバーには多くの場合天気が表示され、重要なお知らせがあると一時的に別の情報に変わり、操作しなければ天気に戻ります。
開き方3つ
| 開き方 | 操作 |
|---|---|
| ショートカット | Windows キー+W を押す |
| タスクバー | タスクバーのウィジェットの領域(天気の表示など)を選ぶ |
| タッチ操作 | 画面の横からスワイプする |
追加・削除・サイズ変更
| やりたいこと | 操作 |
|---|---|
| 追加する | ボードの「+」ボタン → ウィジェット ピッカーで選ぶ |
| 削除する | ウィジェットの「その他のオプション」→「ウィジェットの削除」 |
| 中身を変える | 「その他のオプション」→「ウィジェットのカスタマイズ」 |
| サイズを変える | 「小」「中」「大」から選ぶ(ウィジェットによって選べるサイズが限られる) |
| 移動する | ウィジェットのヘッダーをドラッグする |
消したいものごとの切り替え場所
「ウィジェットを消したい」は、消したいものによって切り替える場所が違います。
flowchart LR
A[消したいもの] --> B[タスクバーの天気<br>タスクバーの設定]
A --> C[ニュース<br>ウィジェットの設定]
A --> D[ロック画面<br>ロック画面の設定]
タスクバーを右クリック →「タスク バーの設定」
設定の「タスク バー」の画面が開く。
「タスク バーの項目」の「ウィジェット」をオフ
タスクバーから天気とウィジェットの入口が消える。
タスクバーのボタンを消しても、ウィジェットの機能そのものは残ります。 Microsoft サポートによると、ボタンを非表示にしたあとも、Windows キー+W や画面の横からのスワイプでウィジェット ボードを開けます。
| 消したいもの | 切り替える場所(Microsoft サポートより) |
|---|---|
| タスクバーの天気・ウィジェットのボタン | タスク バーの設定 →「タスク バーの項目」→「ウィジェット」をオフ |
| ボードのニュース(Discover ダッシュボード) | ボードのナビゲーション バーの設定ボタン →「ダッシュボード」の「検出」をオフ |
| ニュースの1本だけ | その記事で「このストーリーを非表示にする」 |
| ロック画面の天気など | スタート → 設定 → 個人用設定 → ロック画面 →「ウィジェット」をオフ |
| 通知のバッジ | ウィジェットの設定の「タスク バーにバッジを表示する」などをオフ |
ロック画面の「ウィジェット」の一覧では、並べ替え・削除・「ウィジェットを追加」もできます。Microsoft サポートによると、ロック画面に置けるのは小さいサイズに対応したウィジェットだけです。
会社の PC:ポリシーで止める
組織の PC では、管理者がポリシーでウィジェットの機能ごと止められます。 Microsoft Learn のポリシー CSP によると、グループ ポリシーの「ウィジェットを許可する」(場所は「コンピューターの構成」の「Windows コンポーネント」>「ウィジェット」、レジストリの値の名前は AllowNewsAndInterests、既定は 1=許可)を無効にすると、ウィジェットの機能を使えなくなります。同じ場所の「ウィジェットボードを無効にする」「ロック画面でウィジェットを無効にする」は、2026年10月23日時点では Windows Insider Preview のビルドにだけ適用される設定です。会社の PC でウィジェットが出ない・設定が灰色のときは、この設定で止められていることがあります。
Windows 10 の「ニュースと関心事項」
Windows 10 で、タスクバーに天気とニュースを出している機能は「ニュースと関心事項」です。Microsoft サポートによると、タスクバーの空いている所を右クリックし、「ニュースと関心事項」>「オフにする」を選ぶと消え、タスクバーの天気も表示されなくなります。天気のアイコンだけを残すなら「ニュースと関心事項」>「アイコンのみ」を選びます。
Macのウィジェット(デスクトップと通知センター)
この節では、Mac のデスクトップと通知センターにウィジェットを置く手順と、iPhone のウィジェットを Mac で使う設定が分かります。
Mac では、壁紙を Control キーを押しながらクリックし、「ウィジェットを編集」から追加します。 Apple Newsroom によると、デスクトップにウィジェットを置けるようになったのは、2023年9月26日に公開された macOS Sonoma からです。以下は Apple サポート「Macでウィジェットを追加する/カスタマイズする」の手順です。
壁紙を Control+クリック →「ウィジェットを編集」
ウィジェットギャラリーが開く。
ウィジェットを探して「追加」
クリックすると自動で置かれる。ドラッグすると好きな位置に置ける。
右下の「完了」をクリック
デスクトップにウィジェットが残る。
| やりたいこと | デスクトップ | 通知センター |
|---|---|---|
| 開く・編集を始める | 壁紙を Control+クリック →「ウィジェットを編集」 | メニューバーの日付と時刻 → 下の「ウィジェットを編集」 |
| 移動する | ドラッグする | 上下にドラッグする |
| サイズを変える | Control+クリック → 別のサイズを選ぶ | 同じ |
| 削除する | 「ウィジェットを編集」→「削除」ボタン | Control+クリック →「このウィジェットを削除」 |
| 中身を変える | Control+クリック →「(ウィジェット名)を編集」 | 同じ |
中身を変える項目が出ないウィジェットは、表示する内容を変えられません。
表示の設定と iPhone のウィジェット
システム設定の「デスクトップとDock」>「ウィジェット」に、次の設定があります。
- ウィジェットを表示:「デスクトップに」「ステージマネージャ使用時に」のチェックで、表示する場面を選ぶ。
- デスクトップ上のウィジェットを淡色表示:「自動」「常に」(単色)「しない」(フルカラー)から選ぶ。
- iPhoneウィジェットを使用:オンにすると、iPhone にしか入っていないアプリのウィジェットも Mac に置ける。iPhone が iOS 17 以降、同じ Apple Account でサインイン、Mac の近くにあるか同じ Wi-Fi につながっていることが条件。
iPhone のウィジェットを Mac で押したときに「続けるにはiPhoneで(アプリ名)を開いてください」と出るのは、そのアプリが Mac に入っていないときです。
Webのウィジェット(埋め込み)とWordPressのウィジェット
この節では、Web サイトでいう「ウィジェット」が何を指すか、どう貼るのかが分かります。
Web のウィジェットは、別のサービスの表示(カレンダー・地図・投稿など)を、自分のページの一部として貼り付ける部品です。 多くは、サービスが発行する「埋め込みコード」(iframe という、ページの中に別のページを表示する HTML のタグ)をコピーして貼ります。
flowchart TD
A[自分のページ] --> B[埋め込みコード<br>iframe]
B --> C[サービスの<br>サーバー]
C --> D{埋め込みを<br>許可?}
D -->|許可| E[表示される]
D -->|拒否| F[空白・エラー]
例として、Google カレンダー ヘルプの「ウェブサイトにカレンダーを追加する」の手順は次のとおりです。
- パソコンで Google カレンダーを開く(埋め込みコードはアプリでは取得できない)。
- 右上の設定メニューから「設定」を選び、左側で埋め込むカレンダーの名前をクリックする。
- 「カレンダーの統合」を開き、「埋め込みコード」の「カスタマイズ」で表示を選ぶ(幅と高さはそれぞれ 500 以上)。
- 「クリップボードにコピー」を押し、そのコードをサイトに貼る。
カレンダーは、共有した相手にしか表示されません。 ほかの人に見せるには、カレンダーを一般公開する設定が要る、と同じヘルプは注意しています。公開してよい予定かを先に確かめます。
WordPress の「ウィジェット」
WordPress のドキュメントでは、ウィジェットは「ウィジェットエリアにコンテンツと機能を追加する」ものです。ウィジェットエリアはテーマが決めた場所で、多くはサイドバーやフッターにあり、検索窓・新しい記事の一覧などを置きます。管理画面の「外観」>「ウィジェット」かテーマカスタマイザーで追加・削除・並べ替えができ、「外観」の下に「ウィジェット」が無いテーマはウィジェットに対応していません。
iframe の属性やサイズの合わせ方は、関連記事「HTML iframeの使い方|レスポンシブ・sandbox・表示されない原因」で扱っています。
Webページに置ける時計・天気ウィジェットを作る(HTML・JavaScript)
この節では、Web ページに貼れる小さなウィジェットを自分で作り、Chromium で表示して確かめた結果が分かります。
HTML で部品の形を作り、CSS で見た目を整え、JavaScript で中身を一定の間隔で書き換えると、ウィジェットになります。 ここでは、東京の時刻を1秒ごとに、天気風の表示を10分ごとに書き換えるウィジェットを作りました。天気は見本のデータで、本物のウィジェットではこの部分を天気のサービスから取ってきます。
コピーして使えるコード
section・style・script の3つの要素をまとめて、ページの置きたい場所に貼ります。
<section class="mw" role="group" aria-label="時計と天気">
<p class="mw-place">東京</p>
<p class="mw-time" aria-live="off">--:--:--</p>
<p class="mw-date">----</p>
<p class="mw-weather">
<span class="mw-icon" aria-hidden="true">☀</span>
<span class="mw-temp">--℃</span>
<span class="mw-desc">--</span>
</p>
<p class="mw-updated">更新:--</p>
</section>
<style>
.mw{box-sizing:border-box;width:100%;max-width:320px;padding:16px 18px;border-radius:16px;
background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;font-family:system-ui,sans-serif}
.mw p{margin:0}
.mw-place{font-size:14px;opacity:.85}
.mw-time{font-size:40px;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.mw-date{font-size:14px}
.mw-weather{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:18px}
.mw-icon{font-size:28px}
.mw-updated{margin-top:8px;font-size:12px;opacity:.75}
</style>
<script>
(() => {
const root = document.currentScript.previousElementSibling.previousElementSibling; // 上の section.mw
const TZ = "Asia/Tokyo"; // 表示する地域の時刻
const fmtTime = new Intl.DateTimeFormat("ja-JP", {timeZone: TZ, hour: "2-digit", minute: "2-digit", second: "2-digit"});
const fmtDate = new Intl.DateTimeFormat("ja-JP", {timeZone: TZ, month: "long", day: "numeric", weekday: "short"});
const fmtHM = new Intl.DateTimeFormat("ja-JP", {timeZone: TZ, hour: "2-digit", minute: "2-digit"});
const $ = (c) => root.querySelector(c);
// 時計:毎回いまの時刻(Date)から作り直す。回数を数えて足す方式にしない
function tick() {
const now = new Date();
$(".mw-time").textContent = fmtTime.format(now);
$(".mw-date").textContent = fmtDate.format(now);
}
// 天気風の表示:ここでは見本のデータ。本物は天気の API から取ってくる部分
const SAMPLE = [
{icon: "☀", temp: 21, desc: "晴れ"},
{icon: "⛅", temp: 19, desc: "くもり時々晴れ"},
{icon: "☂", temp: 16, desc: "雨"},
];
let n = 0;
function refreshWeather() {
const w = SAMPLE[n++ % SAMPLE.length];
$(".mw-icon").textContent = w.icon;
$(".mw-temp").textContent = w.temp + "℃";
$(".mw-desc").textContent = w.desc;
$(".mw-updated").textContent = "更新:" + fmtHM.format(new Date());
}
tick(); refreshWeather();
setInterval(tick, 1000); // 時計は1秒ごと
setInterval(refreshWeather, 10 * 60 * 1000); // 天気は10分ごと
// 裏に回ったタブから戻ったら、すぐに描き直す
document.addEventListener("visibilitychange", () => { if (!document.hidden) tick(); });
})();
</script>
| 部分 | 役割 |
|---|---|
section.mw と中の p・span |
ウィジェットの形(場所・時刻・日付・天気・更新時刻) |
style |
角の丸いカードの見た目。幅は最大 320px で、狭い画面では画面の幅に合わせる |
Intl.DateTimeFormat の timeZone |
見る人の PC の時間帯に関係なく東京の時刻を出す |
setInterval |
時計は 1000 ミリ秒(1秒)、天気は 10 分ごとに書き換える |
visibilitychange |
裏に回ったタブが前に戻ったときに、すぐ描き直す |
見た目を変えるときは style の中だけを書き換えます。CSS の書き方と効かないときの直し方は、関連記事「CSSとは|HTMLとの違い・書き方・効かない原因を実例で解説」で扱っています。
Chromium で表示した結果
スマホの幅(390px)と PC の幅(1200px)で開き、2.1 秒あけて時刻を2回読みました。
Chromium 141.0.7390.37
幅390px: 時刻 22:00:39 -> 22:00:41 | 箱 320x164px | scrollWidth 390
幅1200px: 時刻 22:00:41 -> 22:00:43 | 箱 320x164px | scrollWidth 1200
スマホの幅でも、ページの横幅(scrollWidth)は画面と同じ 390px のままで、横にはみ出しませんでした。 表示された文字は「東京/22:00:41/10月23日(金)/☀ 21℃ 晴れ/更新:22:00」でした。
このウィジェットの部品の入れ子を、Chromium で上から順にたどって書き出すと、次の形になりました。
section.mw
p.mw-place 「東京」
p.mw-time 「22:00:41」
p.mw-date 「10月23日(金)」
p.mw-weather
span.mw-icon 「☀」
span.mw-temp 「21℃」
span.mw-desc 「晴れ」
p.mw-updated 「更新:22:00」
ウィジェットは、小さな部品を入れ子にした「木」の形をしています。 時刻が変わるたびに書き換わるのは、この木の p.mw-time の文字だけです。この「部品の木」という考え方は、次の節の Flutter の Widget でも同じです。
時間帯の違う PC で開いたとき
見る人の PC の時間帯をニューヨークにして開くと、timeZone を指定したウィジェットと、指定しない toLocaleTimeString で結果が分かれました。
PCの時間帯=Asia/Tokyo: ウィジェット 22:00:46 / timeZone 指定なし 22:00:46 / 既定の時間帯 Asia/Tokyo
PCの時間帯=America/New_York: ウィジェット 22:00:46 / timeZone 指定なし 9:00:46 / 既定の時間帯 America/New_York
時間帯を指定しないと、ウィジェットは見る人の PC の時刻を出します。 「東京の時刻」を出したいウィジェットは timeZone: "Asia/Tokyo" を指定します。日付と時刻の書式の指定は、関連記事「JavaScript Intlの使い方|数値・通貨・日付フォーマット逆引き一覧」で扱っています。
処理が止まると更新も止まる(数え方で差が出る)
同じページで、5 秒かかる重い処理を動かしてページを止めました。比べるため、「1秒ごとに1を足す」方式で経過秒数を数える時計も一緒に動かしました。
ふつう 経過 3秒 | ウィジェット 22:00:50 | 1秒足す方式 3回
重い処理の後 経過 9秒 | ウィジェット 22:00:56 | 1秒足す方式 5回
毎回いまの時刻を読む(このウィジェット)
時計・残り時間の表示に向く
1秒ごとに1を足す
時刻の表示には使わない
ページが止まっているあいだ、setInterval の処理は動かず、止まった分の呼び出しはあとからまとめては来ませんでした。 「1秒ごとに1を足す」時計は 9 秒たっても 5 回で、4 秒遅れたままです。時計のウィジェットは、毎回 Date でいまの時刻を読み直すと、止まっても戻ったときに正しい時刻になります。setInterval の細かい動きは、関連記事「JS setTimeout・setIntervalの使い方|sleepと停止」で扱っています。
埋め込みを拒否されると表示されない
ウィジェットを別のポート(=別のサイト)に置き、iframe で埋め込みました。ウィジェットを返すサーバーに、埋め込みを断る HTTP ヘッダーを付けたときだけ、表示されませんでした。Chromium のコンソールに出たエラーの原文です。
Refused to display 'http://127.0.0.1:30101/' in a frame because it set 'X-Frame-Options' to 'deny'.
Refused to frame 'http://127.0.0.1:30102/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'none'".
| ウィジェット側のヘッダー | 結果 |
|---|---|
| 付けない | 表示された(時刻 22:01:01) |
X-Frame-Options: DENY |
表示されず、iframe の中はエラーページ |
Content-Security-Policy: frame-ancestors 'none' |
表示されず、iframe の中はエラーページ |
埋め込みを許すかどうかは、埋め込まれる側のサイトが決めます。 貼った iframe が空白になるときは、ブラウザーの開発者ツールのコンソールで上の文を探します。この場合、貼る側では直せないので、そのサービスが用意している公式の埋め込みコードを使います。
プログラミングの「ウィジェット」(FlutterのWidget・GUIの部品)
この節では、アプリを作る人がいう「ウィジェット」が何で、どう組み立てるのかが分かります。
プログラミングでのウィジェットは、ボタン・文字・枠など、画面を組み立てる1つ1つの部品です。 Qt の公式ドキュメントは QWidget を「ユーザーインターフェースの原子」と呼び、親を持たないウィジェットは独立したウィンドウに、ほかのウィジェットは親の中に表示される子になる、と説明しています。
Flutter の Widget
Flutter の公式ドキュメント(docs.flutter.dev)は、「UI をウィジェットで組み立てる」ことを中心の考え方としています。ウィジェットは、いまの設定と状態のときに画面がどう見えるべきかを表し、状態が変わると作り直されて、前との差だけが画面に反映されます。公式の最小の例です。
import 'package:flutter/material.dart';
void main() {
runApp(
const Center(
child: Text(
'Hello, world!',
textDirection: TextDirection.ltr,
style: TextStyle(color: Colors.blue),
),
),
);
}
公式ドキュメントによると、runApp() は渡したウィジェットを「ウィジェットの木(widget tree)」の根にします。この例の木は、Center と、その子の Text の2つでできています。
flowchart TD
A[runApp] --> B[Center<br>中央に置く]
B --> C[Text<br>Hello, world!]
| 部品 | 役割(Flutter 公式の Basic widgets より) |
|---|---|
Text |
文字を表示する |
Row・Column |
横・縦に並べる(Web の flexbox がもと) |
Stack |
重ねて置く(Web の絶対位置指定がもと) |
Container |
四角い領域。背景・枠線・影・余白を付けられる |
StatelessWidget |
状態を持たない、自分で作る部品 |
StatefulWidget |
State に状態を持ち、変わると作り直される部品 |
ホーム画面のウィジェットと区別するため、Flutter の Widget は「画面の部品」と覚えると混ざりません。Flutter の始め方と Dart の基本は、関連記事「Flutterとは|始め方・インストールとDartの基本を図と実例で解説」で扱っています。
部品の木を実物で見る(Python の Textual)
Flutter と同じ「部品を入れ子にして画面を作る」考え方を、Python の画面部品のライブラリ Textual 8.2.8 で確かめました。天気のカードを部品で組み、画面を表示せずに動かすテスト用のモードで、部品の木をたどって書き出し、「更新」ボタンを押しました。
import asyncio
from textual.app import App, ComposeResult
from textual.containers import Vertical, Horizontal
from textual.widgets import Label, Button
class WeatherApp(App):
def compose(self) -> ComposeResult:
with Vertical(id="card"):
yield Label("東京", id="place")
yield Label("21:53", id="time")
with Horizontal(id="weather"):
yield Label("晴れ", id="desc")
yield Label("21℃", id="temp")
yield Button("更新", id="refresh")
def on_button_pressed(self, event: Button.Pressed) -> None:
self.query_one("#temp", Label).update("19℃") # 押されたら部品の中身を変える
self.query_one("#desc", Label).update("くもり")
async def main():
app = WeatherApp()
async with app.run_test(size=(40, 12)) as pilot:
for w in app.screen.walk_children(): # 部品の木を親から順にたどる
depth = len(w.ancestors) - len(app.screen.ancestors) - 1
text = f' 「{w.render()}」' if isinstance(w, Label) else ''
print(" " * depth + f"{type(w).__name__}#{w.id}{text}")
print("--- 「更新」を押す")
await pilot.click("#refresh"); await pilot.pause()
print("temp =", app.query_one("#temp", Label).render(), "/ desc =", app.query_one("#desc", Label).render())
asyncio.run(main())
Vertical#card
Label#place 「東京」
Label#time 「21:53」
Horizontal#weather
Label#desc 「晴れ」
Label#temp 「21℃」
Button#refresh
--- 「更新」を押す
temp = 19℃ / desc = くもり
縦に並べる部品の中に、文字の部品と、横に並べる部品が入った木になりました。 ボタンを押すと、木の中の Label#temp と Label#desc の中身だけが変わりました。Web の HTML(section の中に p や span)、Flutter(Column の中に Text)、Textual(Vertical の中に Label)と、名前は違っても「部品の木を作り、変わった部品だけを描き直す」点は同じです。
ウィジェットが表示されない・更新されないときの対処
この節では、ウィジェットが出ない・前の情報のまま・「読み込んでいます」から進まないときに、順に確かめることが分かります。
ホーム画面のウィジェットは、常に動いているわけではありません。 Apple の開発者向け文書(WidgetKit)によると、ウィジェットの処理は画面に出ているあいだも動き続けてはおらず、再読み込みの回数には1日あたりの予算があります。よく見られるウィジェットで1日に 40〜70 回ほど、間隔にすると 15〜60 分ごとが目安で、間隔は 5 分ほど以上あけるよう求められています。Android の開発者向け文書も、電池のため、更新はできるだけ少なく、1時間に1回より多くしないよう勧めています。
flowchart TD
A[表示されない<br>更新されない] --> B[アプリを一度開く]
B --> C[ウィジェットを<br>外して置き直す]
C --> D[OSとアプリを<br>更新]
D --> E[再起動する]
- 1しばらく待つ・アプリを一度開く更新は数十分ごとのことがある。アプリは新しいデータを受け取ったときにウィジェットの再読み込みを頼めるので、アプリを開いて読み込ませる
- 2ウィジェットを外して置き直すiPhone は長押し→ウィジェットを削除、Android は長押し→削除へドラッグ。そのあと追加し直す
- 3アプリと OS を更新するウィジェットはアプリが用意するもの。Windows は Microsoft Store で Windows Web エクスペリエンス パックを更新する
- 4アプリの設定を確かめる天気の地域・表示する予定のカレンダーなど、ウィジェットの編集で選ぶ項目が空のままになっていないか見る
- 5端末を再起動するiPhone は音量ボタンとサイドボタンを長押し→スライダで電源を切り、サイドボタンで入れる
機器ごとの「出ない」原因と直し方
| 症状 | 考えられる原因 | 直し方 |
|---|---|---|
| iPhone で、ほとんど見ないページのウィジェットが前の情報のまま | 見られる回数が少ないページは更新が減らされる | そのページを開く。Apple の文書では、見えたときに再読み込みされることがある |
| iPhone でロック画面に置けない | iOS 16 より前、または場所が足りない | iOS を更新する。今あるウィジェットを外す |
| Android で追加の手順どおりにならない | Android 14 より前、またはホームアプリ・機種の違い | 機種の説明書でメニューの名前を確かめる |
| Windows のウィジェットやニュースが動かない | Windows Web エクスペリエンス パックなどが更新されていない | Microsoft Store の「ライブラリ」で検索して「更新」 |
| Windows のボタンが出ない・設定が灰色 | 会社のポリシーで止められている | PC の管理者に確かめる |
| Mac の iPhone ウィジェットが開けない | そのアプリが Mac に入っていない | 「続けるにはiPhoneで〜を開いてください」の表示どおり iPhone で開く |
| Web に貼ったウィジェットが空白 | 埋め込まれる側が X-Frame-Options・CSP で拒否 |
コンソールのエラーを見て、公式の埋め込みコードを使う |
| Web の時計の時刻が違う | 時間帯を指定していない | Intl.DateTimeFormat に timeZone を指定する |
Windows Web エクスペリエンス パックの更新は、Microsoft サポートによると、Microsoft Store の左下の「ライブラリ」を選び、「Windows Web エクスペリエンス パック」を検索して、「更新」が出ていれば選びます。「更新」が出なければ、最新の版が入っています。
よくある質問
Q. ウィジェットとは簡単に言うと何ですか? A. ホーム画面やデスクトップに置いて、アプリを開かずに情報を見たり、簡単な操作をしたりできる小さな表示です。天気・時計・カレンダーなどが代表的です。
Q. ウィジェットとアプリの違いは何ですか? A. ウィジェットは、アプリが用意する情報の見せ方の1つです。アプリを入れると、そのアプリのウィジェットを置けるようになります。ウィジェットを外しても、アプリとデータは残ります。
Q. ウィジェットを削除するとアプリも消えますか? A. 消えません。iPhone の「ウィジェットを削除」はアプリの「App を削除」と別の項目で、Android ヘルプも「削除」はホーム画面に表示されなくなるだけで、端末から消えるのは「アンインストール」のときだと説明しています。
Q. Windows 11 のウィジェットを消すにはどうしますか? A. タスクバーを右クリックして「タスク バーの設定」を開き、「タスク バーの項目」の「ウィジェット」をオフにします。ボタンが消えても Windows キー+W では開けます。会社の PC では、管理者がポリシー「ウィジェットを許可する」で機能ごと止めることもあります。
Q. Windows 11 のタスクバーの天気を消すには? A. タスクバーの天気はウィジェットの入口なので、同じく「タスク バーの項目」の「ウィジェット」をオフにします。Windows 10 では、タスクバーを右クリックして「ニュースと関心事項」>「オフにする」です。
Q. Windows 11 のウィジェットでニュースを表示しないようにできますか? A. ウィジェット ボードのナビゲーション バーの設定ボタンから、「ダッシュボード」の「検出」をオフにします。個別の記事は「このストーリーを非表示にする」で隠せます。
Q. ロック画面にウィジェットを置けますか? A. iPhone は iOS 16 以降で、ロック画面を長押しして「カスタマイズ」から置けます。Windows 11 は、設定の「個人用設定」>「ロック画面」の「ウィジェット」で選び、オフにすると消えます。
Q. ウィジェットが更新されないのはなぜですか? A. ウィジェットは常に動いておらず、更新の回数に上限があるためです。iPhone の WidgetKit では、よく見られるウィジェットで1日 40〜70 回、15〜60 分ごとが目安です。アプリを一度開く、ウィジェットを置き直す、再起動するの順に試します。
Q. ウィジェットを置くと電池を使いますか? A. 使います。Apple は、ウィジェットの再読み込みは通信と処理で電池を使うと説明し、Android も電池のために更新は1時間に1回より多くしないよう開発者に勧めています。使わないウィジェットは外すと、画面も整理できます。
Q. Mac のデスクトップにウィジェットを置くには? A. 壁紙を Control キーを押しながらクリックし、「ウィジェットを編集」からギャラリーで選んで「追加」し、「完了」をクリックします。macOS Sonoma から使えます。
Q. Flutter のウィジェットとは何ですか?
A. 画面を組み立てる部品のことです。Text・Row・Column などの部品を入れ子にして「ウィジェットの木」を作り、状態が変わると作り直されて、差だけが画面に反映されます。
Q. widget の英語の意味は? A. もともとは「小さな部品・道具」です。英英辞典の Merriam-Webster では、特定の情報を提供するように作られた小さなソフトウェアのアプリケーション、という意味も載っています。
まとめ
- ウィジェットは、画面に置いてアプリを開かずに情報を見られる小さな部品。スマホ・PC・Web・プログラミングで指すものが違う。
- iPhone は空きを長押し → 編集ボタン →「ウィジェットを追加」、消すときは長押し →「ウィジェットを削除」。ロック画面は iOS 16 以降。
- Android は空きを長押し → ウィジェット。サイズは枠の点をドラッグ、削除は「削除」へドラッグ。
- Windows 11 は Windows キー+W。タスクバーの天気はタスク バーの設定の「ウィジェット」、ニュースはウィジェットの設定の「検出」、ロック画面は個人用設定の「ロック画面」で消す。
- Mac は壁紙を Control+クリック →「ウィジェットを編集」。iPhone のウィジェットも置ける。
- Web のウィジェットは埋め込みコードで貼る。自作の時計ウィジェットは 390px の画面でもはみ出さず、
X-Frame-Optionsか CSP で拒否されると表示されなかった。 - 時計は毎回いまの時刻を読むと、処理が止まってもずれが残らない。1秒ごとに足す方式は 9 秒で 5 回と遅れた。
- ホーム画面のウィジェットの更新には回数の上限がある。更新されないときは、アプリを開く → 置き直す → 更新 → 再起動の順。
参考・出典
確認日はいずれも 2026年10月23日です。
- Apple サポート「iPhoneでウィジェットを追加・編集する方法」:https://support.apple.com/ja-jp/118610
- Apple サポート「iPhoneを再起動する」:https://support.apple.com/ja-jp/118259
- Apple サポート「Macでウィジェットを追加する/カスタマイズする」:https://support.apple.com/ja-jp/guide/mac-help/mchl52be5da5/mac
- Apple Newsroom「macOS Sonoma is available today」:https://www.apple.com/newsroom/2023/09/macos-sonoma-is-available-today/
- Apple Developer「Keeping a widget up to date」(WidgetKit):https://developer.apple.com/documentation/widgetkit/keeping-a-widget-up-to-date
- Android ヘルプ「アプリ、ショートカット、ウィジェットをホーム画面に追加する」:https://support.google.com/android/answer/9450271?hl=ja
- Android Developers「App widgets overview」:https://developer.android.com/develop/ui/views/appwidgets
- Android Developers「Create an app widget with Glance」:https://developer.android.com/develop/ui/compose/glance/create-app-widget
- Microsoft サポート「Windows のウィジェットで最新の状態を保つ」:https://support.microsoft.com/ja-jp/windows/experience/personalization/stay-up-to-date-with-widgets-in-windows
- Microsoft サポート「Windows でタスク バーをカスタマイズする」:https://support.microsoft.com/ja-jp/windows/experience/personalization/customize-the-taskbar-in-windows
- Microsoft サポート「Customize the Lock Screen in Windows」:https://support.microsoft.com/en-us/windows/experience/personalization/customize-the-lock-screen-in-windows
- Microsoft サポート「ニュースや関心のある最新情報を入手する」:https://support.microsoft.com/ja-jp/windows/a39baa08-7488-4169-9ed8-577238f46f8f
- Microsoft サポート「Windows Web エクスペリエンス パックを更新する方法」:https://support.microsoft.com/ja-jp/windows/deployment/updates-lifecycle/how-to-update-the-windows-web-experience-pack
- Microsoft Learn「ポリシー CSP - NewsAndInterests」:https://learn.microsoft.com/ja-jp/windows/client-management/mdm/policy-csp-newsandinterests
- Microsoft Learn「デスクトップ ガジェットが削除されました」:https://learn.microsoft.com/ja-jp/windows/compatibility/desktop-gadgets-removed
- Google カレンダー ヘルプ「ウェブサイトにカレンダーを追加する」:https://support.google.com/calendar/answer/41207?hl=ja
- WordPress.org Documentation「Manage WordPress Widgets」:https://wordpress.org/documentation/article/manage-wordpress-widgets/
- Flutter「Building user interfaces with Flutter」:https://docs.flutter.dev/ui
- Qt 6「QWidget Class」:https://doc.qt.io/qt-6/qwidget.html
- Textual Documentation:https://textual.textualize.io/
- Merriam-Webster「widget」:https://www.merriam-webster.com/dictionary/widget
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「ウィジェットとは|意味とスマホ・Windows・Macの追加と消し方」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。