2021年8月21日土曜日

mysql ログイン うまくいかない mysqのアンインストールでエラーになってしまた!

 バージョン

root@localhost:~# cat /etc/issue

Ubuntu 14.04.6 LTS \n \l

root@localhost:~# mysql --version
mysql  Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.3


ルートのパスワードがわからなくなった場合などは

以下を起動させて、別ターミナルでmysql -u rootをする!

mysqld_safe --skip-grant-tables




ubuntu環境での
mysqのアンインストールでエラーになってしまた!
(最初のremoveでエラー)

エラー内容は、
python-gtk2-dev (2.24.0-3ubuntu3) を設定しています ...
dpkg: パッケージ python-gtk2-dev の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
処理中にエラーが発生しました:
 python-gtk2-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)

※エラーの詳細を確認したい場合は、
root@localhost:~# sudo dpkg --audit


アンインストールの手順
---------------------------
sudo apt-get remove --purge mysql-server* mysql-common
sudo apt-get autoremove --purge
sudo rm -r /etc/mysql
sudo rm -r /var/lib/mysql
---------------------------


原因と対応
python-gtk2-devが、ちゃんとインストールされていなかったのかも!
こちらの、2行で「python-gtk2-dev」を削除するとうまくいく

root@localhost:~# rm -rf /var/lib/dpkg/info/python-gtk2-dev.*
root@localhost:~# apt-get remove python-gtk2-dev




以下は、やったログ!



root@localhost:~# sudo apt-get remove --purge mysql-server* mysql-common
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
注意、regex 'mysql-server*' のために 'mysql-server-core-5.0' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.1' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.5' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.6' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.0' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.1' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.5' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.6' を選択します
注意、regex 'mysql-server*' のために 'virtual-mysql-server-core' を選択します
注意、regex 'mysql-server*' のために 'mysql-server' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core' を選択します
注意、regex 'mysql-server*' のために 'virtual-mysql-server' を選択します
Package 'mysql-server-5.1' is not installed, so not removed
Package 'mysql-server-core-5.1' is not installed, so not removed
Package 'mysql-server-5.0' is not installed, so not removed
Package 'mysql-server-core-5.0' is not installed, so not removed
注意、'mysql-server-core' の代わりに 'mysql-server-core-5.5' を選択します
Package 'mysql-server-5.6' is not installed, so not removed
Package 'mysql-server-core-5.6' is not installed, so not removed
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libctemplate2 libgtkmm-2.4-1c2a libtinyxml2.6.2 libvsqlitepp3 libzip2
  mysql-utilities mysql-workbench-data python-mysql.connector python-pyodbc
  python-pysqlite2
これを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージは「削除」されます:
  libdbd-mysql-perl* libmysqlclient-dev* libmysqlclient18* libmysqlcppconn7*
  libqt4-sql-mysql* mysql-client-5.5* mysql-common* mysql-server*
  mysql-server-5.5* mysql-server-core-5.5* mysql-workbench* php5-mysql*
  python-mysqldb*
アップグレード: 0 個、新規インストール: 0 個、削除: 13 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
この操作後に 167 MB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 172465 個のファイルとディレクトリがインストールされています。)
mysql-server (5.5.62-0ubuntu0.14.04.1) を削除しています ...
mysql-server-5.5 (5.5.62-0ubuntu0.14.04.1) を削除しています ...
mysql-server-5.5 (5.5.62-0ubuntu0.14.04.1) の設定ファイルを削除しています ...
mysql-workbench (6.0.8+dfsg-2) を削除しています ...
mysql-workbench (6.0.8+dfsg-2) の設定ファイルを削除しています ...
mysql-client-5.5 (5.5.62-0ubuntu0.14.04.1) を削除しています ...
libdbd-mysql-perl (4.025-1ubuntu0.1) を削除しています ...
libmysqlclient-dev (5.5.62-0ubuntu0.14.04.1) を削除しています ...
php5-mysql (5.5.9+dfsg-1ubuntu4.29) を削除しています ...
php5_invoke prerm: Disable module mysql for cgi SAPI
php5_invoke prerm: Disable module mysql for cli SAPI
php5_invoke prerm: Disable module mysql for apache2 SAPI
php5_invoke prerm: Disable module mysqli for cgi SAPI
php5_invoke prerm: Disable module mysqli for cli SAPI
php5_invoke prerm: Disable module mysqli for apache2 SAPI
php5_invoke prerm: Disable module pdo_mysql for cgi SAPI
php5_invoke prerm: Disable module pdo_mysql for cli SAPI
php5_invoke prerm: Disable module pdo_mysql for apache2 SAPI
php5-mysql (5.5.9+dfsg-1ubuntu4.29) の設定ファイルを削除しています ...
php5_invoke postrm: Purging state for mysqli for cgi SAPI
php5_invoke postrm: Purging state for mysqli for cli SAPI
php5_invoke postrm: Purging state for mysqli for apache2 SAPI
php5_invoke postrm: Purging state for pdo_mysql for cgi SAPI
php5_invoke postrm: Purging state for pdo_mysql for cli SAPI
php5_invoke postrm: Purging state for pdo_mysql for apache2 SAPI
libqt4-sql-mysql:amd64 (4:4.8.5+git192-g085f851+dfsg-2ubuntu4.1) を削除しています ...
libmysqlcppconn7 (1.1.3-5) を削除しています ...
libmysqlcppconn7 (1.1.3-5) の設定ファイルを削除しています ...
mysql-server-core-5.5 (5.5.62-0ubuntu0.14.04.1) を削除しています ...
python-mysqldb (1.2.3-2ubuntu1) を削除しています ...
libmysqlclient18:amd64 (5.5.62-0ubuntu0.14.04.1) を削除しています ...
libmysqlclient18:amd64 (5.5.62-0ubuntu0.14.04.1) の設定ファイルを削除しています ...
mysql-common (5.5.62-0ubuntu0.14.04.1) を削除しています ...
mysql-common (5.5.62-0ubuntu0.14.04.1) の設定ファイルを削除しています ...
dpkg: 警告: mysql-common の削除中、ディレクトリ '/etc/mysql' が空でないため削除できませんでした
man-db (2.6.7.1-1ubuntu1) のトリガを処理しています ...
shared-mime-info (1.2-0ubuntu3) のトリガを処理しています ...
gnome-menus (3.10.1-0ubuntu2) のトリガを処理しています ...
desktop-file-utils (0.22-1ubuntu1.1) のトリガを処理しています ...
bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) のトリガを処理しています ...
Rebuilding /usr/share/applications/bamf-2.index...
mime-support (3.54ubuntu1.1) のトリガを処理しています ...
menu (2.1.46ubuntu1) のトリガを処理しています ...
libapache2-mod-php5 (5.5.9+dfsg-1ubuntu4.29) のトリガを処理しています ...
libc-bin (2.19-0ubuntu6.15) のトリガを処理しています ...
python-gtk2-dev (2.24.0-3ubuntu3) を設定しています ...
dpkg: パッケージ python-gtk2-dev の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
E: Sub-process /usr/bin/dpkg returned an error code (1)

2回目の挑戦!

root@localhost:~# sudo apt-get remove --purge mysql-server* mysql-common
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
注意、regex 'mysql-server*' のために 'mysql-server-core-5.0' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.1' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.5' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.6' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.0' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.1' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.5' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.6' を選択します
注意、regex 'mysql-server*' のために 'virtual-mysql-server-core' を選択します
注意、regex 'mysql-server*' のために 'mysql-server' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core' を選択します
注意、regex 'mysql-server*' のために 'virtual-mysql-server' を選択します
Package 'mysql-server-5.1' is not installed, so not removed
Package 'mysql-server-core-5.1' is not installed, so not removed
Package 'mysql-server-5.0' is not installed, so not removed
Package 'mysql-server-core-5.0' is not installed, so not removed
注意、'mysql-server-core' の代わりに 'mysql-server-core-5.5' を選択します
Package 'mysql-common' is not installed, so not removed
Package 'mysql-server' is not installed, so not removed
Package 'mysql-server-5.5' is not installed, so not removed
Package 'mysql-server-core-5.5' is not installed, so not removed
Package 'mysql-server-5.6' is not installed, so not removed
Package 'mysql-server-core-5.6' is not installed, so not removed
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libaio1 libctemplate2 libgtkmm-2.4-1c2a libtinyxml2.6.2 libvsqlitepp3
  libzip2 mysql-client-core-5.5 mysql-utilities mysql-workbench-data
  python-mysql.connector python-pyodbc python-pysqlite2
これを削除するには 'apt-get autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
この操作後に追加で 0 B のディスク容量が消費されます。
python-gtk2-dev (2.24.0-3ubuntu3) を設定しています ...
dpkg: パッケージ python-gtk2-dev の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
処理中にエラーが発生しました:
 python-gtk2-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)


以下のコマンドを使用してエラー詳細をみる

root@localhost:~# sudo dpkg --audit
以下のパッケージは最初の設定中に問題が発生したため、設定が終了していません。
dpkg --configure <パッケージ> か dselect で設定 (configure) メニューオプショ
ンを使って設定作業を再試行しなければなりません:
 python-gtk2-dev      GTK+ bindings: devel files

以下のパッケージは、データベース中に md5sums 制御ファイルが見つかりません。
再インストールする必要があります:
 libjson0:amd64       JSON manipulation library (transitional package)

以下の一行で「python-gtk2-dev」の、削除はうまくいかない!
(先ほどと同じ)

root@localhost:~# sudo apt remove python-gtk2-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libaio1 libctemplate2 libgtkmm-2.4-1c2a libtinyxml2.6.2 libvsqlitepp3
  libzip2 mysql-client-core-5.5 mysql-utilities mysql-workbench-data
  python-mysql.connector python-pyodbc python-pysqlite2
これを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージは「削除」されます:
  python-gtk2-dev
アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
この操作後に 1,317 kB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 171934 個のファイルとディレクトリがインストールされています。)
python-gtk2-dev (2.24.0-3ubuntu3) を削除しています ...
dpkg: パッケージ python-gtk2-dev の処理中にエラーが発生しました (--remove):
 サブプロセス インストール済みの pre-removal スクリプト はエラー終了ステータス 1 を返しました
dpkg: クリーンアップ中にエラーが発生しました:
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
処理中にエラーが発生しました:
 python-gtk2-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)


root@localhost:~# sudo dpkg --audit
以下のパッケージは最初の設定中に問題が発生したため、設定が終了していません。
dpkg --configure <パッケージ> か dselect で設定 (configure) メニューオプショ
ンを使って設定作業を再試行しなければなりません:
 python-gtk2-dev      GTK+ bindings: devel files

以下のパッケージは、データベース中に md5sums 制御ファイルが見つかりません。
再インストールする必要があります:
 libjson0:amd64       JSON manipulation library (transitional package)

以下の2行だとうまくいく

root@localhost:~# rm -rf /var/lib/dpkg/info/python-gtk2-dev.*
root@localhost:~# apt-get remove python-gtk2-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libaio1 libctemplate2 libgtkmm-2.4-1c2a libtinyxml2.6.2 libvsqlitepp3
  libzip2 mysql-client-core-5.5 mysql-utilities mysql-workbench-data
  python-mysql.connector python-pyodbc python-pysqlite2
これを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージは「削除」されます:
  python-gtk2-dev
アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
この操作後に 1,317 kB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 171882 個のファイルとディレクトリがインストールされています。)
python-gtk2-dev (2.24.0-3ubuntu3) を削除しています ...


「python-gtk2-dev」を再インストールしたら、エラーになった!
(もともと、インストールできていなかったのかもしれません)

root@localhost:~# sudo apt-get --reinstall install python-gtk2-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libaio1 libctemplate2 libgtkmm-2.4-1c2a libtinyxml2.6.2 libvsqlitepp3
  libzip2 mysql-client-core-5.5 mysql-utilities mysql-workbench-data
  python-mysql.connector python-pyodbc python-pysqlite2
これを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージが新たにインストールされます:
  python-gtk2-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
112 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 1,317 kB のディスク容量が消費されます。
以前に未選択のパッケージ python-gtk2-dev を選択しています。
(データベースを読み込んでいます ... 現在 171885 個のファイルとディレクトリがインストールされています。)
.../python-gtk2-dev_2.24.0-3ubuntu3_all.deb を展開する準備をしています ...
python-gtk2-dev (2.24.0-3ubuntu3) を展開しています...
python-gtk2-dev (2.24.0-3ubuntu3) を設定しています ...
dpkg: パッケージ python-gtk2-dev の処理中にエラーが発生しました (--configure):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
処理中にエラーが発生しました:
 python-gtk2-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)

こちらの、2行で「python-gtk2-dev」を削除するとうまくいく

root@localhost:~# rm -rf /var/lib/dpkg/info/python-gtk2-dev.*
root@localhost:~# apt-get remove python-gtk2-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libaio1 libctemplate2 libgtkmm-2.4-1c2a libtinyxml2.6.2 libvsqlitepp3
  libzip2 mysql-client-core-5.5 mysql-utilities mysql-workbench-data
  python-mysql.connector python-pyodbc python-pysqlite2
これを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージは「削除」されます:
  python-gtk2-dev
アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
この操作後に 1,317 kB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 171882 個のファイルとディレクトリがインストールされています。)
python-gtk2-dev (2.24.0-3ubuntu3) を削除しています ...



再度実行してみる、できたぞ!

root@localhost:~# sudo apt-get remove --purge mysql-server* mysql-common
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
注意、regex 'mysql-server*' のために 'mysql-server-core-5.0' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.1' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.5' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core-5.6' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.0' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.1' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.5' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-5.6' を選択します
注意、regex 'mysql-server*' のために 'virtual-mysql-server-core' を選択します
注意、regex 'mysql-server*' のために 'mysql-server' を選択します
注意、regex 'mysql-server*' のために 'mysql-server-core' を選択します
注意、regex 'mysql-server*' のために 'virtual-mysql-server' を選択します
Package 'mysql-server-5.1' is not installed, so not removed
Package 'mysql-server-core-5.1' is not installed, so not removed
Package 'mysql-server-5.0' is not installed, so not removed
Package 'mysql-server-core-5.0' is not installed, so not removed
注意、'mysql-server-core' の代わりに 'mysql-server-core-5.5' を選択します
Package 'mysql-common' is not installed, so not removed
Package 'mysql-server' is not installed, so not removed
Package 'mysql-server-5.5' is not installed, so not removed
Package 'mysql-server-core-5.5' is not installed, so not removed
Package 'mysql-server-5.6' is not installed, so not removed
Package 'mysql-server-core-5.6' is not installed, so not removed
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libaio1 libctemplate2 libgtkmm-2.4-1c2a libtinyxml2.6.2 libvsqlitepp3
  libzip2 mysql-client-core-5.5 mysql-utilities mysql-workbench-data
  python-mysql.connector python-pyodbc python-pysqlite2
これを削除するには 'apt-get autoremove' を利用してください。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
root@localhost:~# 
root@localhost:~# 
root@localhost:~# 
root@localhost:~# 
root@localhost:~# sudo apt-get autoremove --purge
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
  libaio1* libctemplate2* libgtkmm-2.4-1c2a* libtinyxml2.6.2* libvsqlitepp3*
  libzip2* mysql-client-core-5.5* mysql-utilities* mysql-workbench-data*
  python-mysql.connector* python-pyodbc* python-pysqlite2*
アップグレード: 0 個、新規インストール: 0 個、削除: 12 個、保留: 0 個。
この操作後に 18.7 MB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 171882 個のファイルとディレクトリがインストールされています。)
libaio1:amd64 (0.3.109-4) を削除しています ...
libaio1:amd64 (0.3.109-4) の設定ファイルを削除しています ...
libctemplate2 (2.2-4ubuntu3) を削除しています ...
libctemplate2 (2.2-4ubuntu3) の設定ファイルを削除しています ...
libgtkmm-2.4-1c2a:amd64 (1:2.24.4-1ubuntu1) を削除しています ...
libgtkmm-2.4-1c2a:amd64 (1:2.24.4-1ubuntu1) の設定ファイルを削除しています ...
libtinyxml2.6.2:amd64 (2.6.2-2) を削除しています ...
libtinyxml2.6.2:amd64 (2.6.2-2) の設定ファイルを削除しています ...
libvsqlitepp3:amd64 (0.3.12-1ubuntu1) を削除しています ...
libvsqlitepp3:amd64 (0.3.12-1ubuntu1) の設定ファイルを削除しています ...
libzip2 (0.10.1-1.2) を削除しています ...
libzip2 (0.10.1-1.2) の設定ファイルを削除しています ...
mysql-client-core-5.5 (5.5.62-0ubuntu0.14.04.1) を削除しています ...
mysql-utilities (1.3.5-2) を削除しています ...
mysql-workbench-data (6.0.8+dfsg-2) を削除しています ...
dpkg: 警告: mysql-workbench-data の削除中、ディレクトリ '/usr/share/mysql-workbench/libraries/workbench' が空でないため削除できませんでした
python-mysql.connector (1.1.6-1) を削除しています ...
python-pyodbc (3.0.6-2) を削除しています ...
python-pysqlite2 (2.6.3-3) を削除しています ...
libc-bin (2.19-0ubuntu6.15) のトリガを処理しています ...
man-db (2.6.7.1-1ubuntu1) のトリガを処理しています ...
hicolor-icon-theme (0.13-1) のトリガを処理しています ...
root@localhost:~# 
root@localhost:~# 
root@localhost:~# 
root@localhost:~# 
root@localhost:~# sudo rm -r /etc/mysql
root@localhost:~# sudo rm -r /var/lib/mysql
root@localhost:~# 
root@localhost:~# 


2021年8月8日日曜日

npdb 変数表示

 '''

最初だけ

有効かを

チェックする


'''


"""

     流れを見てみる

"""

def dbg():

   data = list( globals() )

   val  ={}


   for key in data:

      print("key=",key)

      if key != "__builtins__":

         data= globals()[key]


         val[ key ] = data


   return val


namae = input("名前を入力して下さい")

jyusyo= input("住所を入力して下さい")


"""

デバッグの変数内容

"""



print( dbg())

while True:

    food= input("好きなたべものを入力して下さい")

    if food == "":

        break


print("名前は",namae)

print("住所は",jyusyo)

print("好きな食べ物は",food)

print("")

              

print("プログラム終了しました")


2021年8月1日日曜日

動画編集ソフトの自作(開発日誌)1

本日は、ウインドウを見つけて、ウインドウのタイトルを変更した。

opencvで ウインドウでタイトルを変更したかったが(漢字ファイル名の表示)

出来なかったので、回避策!

かなりの時間を費やした、人生の無駄な時間ですね!

でも執念深くやっていると思いつくものがあったですね

win32でウインドウ表示後に変更してしまえば良いじゃないか!

マウスイベントの処理をやりたかったので、 cv2.namedWindow(        winName,   cv2.WINDOW_NORMAL)

も必要だった。

タイトルに文字は、設定されて表示されているが、文字化けをする

が、

cv2.namedWindowの引数のウインドウ名とcv2.imshowの名前を文字化けのままでも、

マウスイベントは、うまく処理してくれる。

その後に、win32でウインドウのタイトルを変更してみた、

うまくできた、嬉しかった。

早く回避策を考えれば良かった(いやタイトルバーに漢字を使わなくてもそれほど問題は無いのだけど、性分で時間を費やしてしまった。(いかん、いかん、いけない!)


俯瞰の目

俯瞰の目がないのです。
反省、反省、反省です


でも、何故できないか何故?

調べたら、

コード体系がUnicodeなく、GBK(中国)が使われているとか?

https://en.wikipedia.org/wiki/GBK_(character_encoding)


よくわからないけど。

日本語(Unicode )で渡すと、中国語の漢字が表示されるのかな、

疲れたなぁ!

中国漢字もタイトルバーには、うかく表示されない場合の対処がnet上にはあった、

日本語もこれでいけると期待していたがNGだった。

cv2.imshow(”タイトル”.encode("GBK").decode() )

Unicode(GBK)などエスケープされたバイト列に変換(エンコード)

してからの、

Unicodeなどエスケープされたバイト列を文字列に変換、デコードだけなのだから!


参考URL PythonでUnicodeエスケープされた文字列・バイト列を変換

https://note.nkmk.me/python-unicode-escape/

でも、本当にはよくわからない。

ここまで,です!

2021/08/02 零時になってしまった、早く寝よう!



【例】

実際のファイル名

fn= C:/Users/kobay/MyTool/pad 拡張機能2

タイトルバーの漢字

良く見ると日本の漢字ではない

(中国の漢字ですね「繁体字化か簡体字は判定できないけど」)


opencvも中国には対応しているのかぁ~




class mosaic():

        def __init__( sl, winName="" ):

         import cv2

        import sys,os,time

        #ウィンドウの名前を設定

        # ウインドウ名を指定しないとcallbackしないので注意!

        # //cv2.namedWindow(        winTitleName,   cv2.WINDOW_AUTOSIZE)

        sl.winName = winName

        cv2.namedWindow(        winName,   cv2.WINDOW_NORMAL)

        cv2.setMouseCallback(   winName,   sl.mouseCallback)


 cv2.imshow(  winName,  img )                   # ファイル名がタイトルバーに表示されます



import win32gui

import win32api

import ctypes


handle=0

def setWinTtl( ttl ):

 

    global handle

    

    handle = ctypes.windll.user32.FindWindowW("Main HighGUI class", None)

    win32gui.SetWindowText(handle, ttl )

    win32gui.SetForegroundWindow(handle)

    print("handle,ttl", handle, ttl)

    

def actWin():

    global handle

   

    win32gui.SetForegroundWindow(handle)


iframe内のDOMを操るには?

 WebPageで、iframe内を操作したい場合、

(JavaScript でiframe内のDOM要素の取得、操作方法)


ポイント

・iframeのID取得

・それで、iframe内のID取得

(getContentIDだったかな?!)

コマンドプロンプトの様なもの(ブラウザで実現)

 netpdb(オンラインのパイソンデバッガ)で使う為に、

コマンドプロンプトの様なもの(ブラウザで実現)を作成した。

(入出力ができる)

ソースは、以下である。