質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

1回答

2349閲覧

wxPython ドラッグ&ドロップをすると「TypeError:〜a 'bool' is expected not 'NoneType'」というエラーが出現する。

terala

総合スコア2

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2020/11/21 12:16

編集2022/01/30 13:22

実現したいこと

Python初心者です。
wxPythonでアプリ上にExcelファイルをドラッグ&ドロップをすることで、ファイルの中身の計算式に間違いがないかチェックしてくれるアプリを作成しています。
また、作業完了後にはメッセージボックスで知らせてくれる仕様になっています。
同じアプリをvirtualboxでWindows10で動くように作成していますが、ファイルパス等一部違いがあるものの正常に動いているため、対処に困り質問させていただきました。
お力添え頂けますと幸いです。

発生している問題・エラーメッセージ

Excelファイルをドラッグ&ドロップすると、ターミナル上で下記の通りエラーが発生します。
まだ完成版ではないため、ソースコードには一部「print("-------")」のように途中で目印となるコードを挟んだみたりしてターミナルへの出力結果を確認しながらコーディングしていますが、ドラッグ&ドロップをすると下記のエラーメッセージしか出力されない状況です。

Python

1TypeError: invalid result from FileDropTarget.OnDropFiles(), a 'bool' is expected not 'NoneType' 2 3#FileDropTargetはクラス名、OnDropFile()はメソッド名です。※以下ソースコードに記載。

該当のソースコード

Python

1import os 2import sys 3import wx 4import wx.adv 5import openpyxl as xl 6from openpyxl import Workbook, load_workbook 7import time 8 9

補足情報

◆操作環境
・PC:Macbook Air
・OS:MacOS High Sierra
・言語:Python 3.9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2020/11/22 00:01

python 3.9への正式対応版は、まだリリースされてないので、それで動作が不安定なのかもしれません https://teratail.com/questions/305323 どうしてもpython 3.9じゃないとダメな理由があるのでしょうか?
terala

2020/11/23 04:08

ご回答ありがとうございます。 wxPythonの正式対応版如何の確認ができておりませんでしたので、一旦Pythonのバージョンを下げて確認してみます。
guest

回答1

0

ベストアンサー

エラーの内容については、bool 値を期待するところに
None が来たために起こってます。

https://wxpython.org/Phoenix/docs/html/wx.FileDropTarget.html

OnDropFiles メソッドの戻り値は bool なので、

return True としてみてはどうでしょう。

return がない場合、Pythonの関数は None を返します。

投稿2020/11/22 01:57

teamikl

総合スコア8664

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

terala

2020/11/23 04:07

ご回答ありがとうございます。 return Trueとしてみましたが、残念ながら解決されませんでした。 直前にご回答くださった方がご指摘の通り、まだPython3.9への正式対応版がリリースされていないようでしたので、一旦Pythonのバージョンを下げて試してみることにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問