teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

PyPostTblの定義を追加

2020/03/16 07:57

投稿

akiteru
akiteru

スコア21

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  既に同じ質問を3回目となる投稿です、投稿ルール、「編集」、「削除」等の処理方法が今一つ理解不足でご迷惑をかけています。(これからは言い訳です)投稿のコード部分のインデントが質問入力画面では有るにもかかわらず新着の質問で表示させると全て削除され左側揃えとなっています。2回目投稿ではご指摘で<code>で挿入したのですが頭尾にある「'''」を文面作成フォームで削除しました(入力画面ではインデント有)。この為と思われますが投稿の様にすべて左揃えになっていました。
2
2
  下記文面はコード部分が入力フォームとプレビュー画面ともにインデント有で表示されています。
3
3
  正常に表示されるようでしたら、よろしくお願いします。
4
+ 【追記】ご指摘によりPyPostTblの定義を追加してあります
4
5
 
5
6
  (1) //////// 初心者です。PYTHONでファイルを分割(親子関係で)したいのですがエラーが発生。対策を教えて下さい。
6
7
  又、修正した方が良い部分があればご指摘ください。
@@ -189,9 +190,31 @@
189
190
  for row in r:
190
191
  print(row[2],row[4])
191
192
  ```
193
+
192
- 4) //////////// 分割前はフォームが表示された後、「フリガナ」を入力し「検索」ボタンをクリックすると結果が表示されます。
194
+ 4) //////////// 分割前はフォームが表示された後、「フリガナ」を入力し「検索」ボタンをクリックすると結果が表示されます。
193
195
  これに対し分割後はフォームが表示された後、「フリガナ」を入力する以前に全登録データが表示されます。その後「フリガナ」を入力し「検索」ボタンをクリックすると下記エラーが表示され検索結果は表示されません
194
196
  raceback (most recent call last):
195
197
  File "C:\Users\akiteru\AppData\Local\Programs\Python\Python38\lib\tkinter\init.py", line 1883, in call
196
198
  return self.func(*args)
197
- TypeError: show_datalist() missing 1 required positional argument: 'self'
199
+ TypeError: show_datalist() missing 1 required positional argument: 'self'
200
+
201
+ (5) /////// PyPostTblの定義
202
+ DB Browser for SQLiteで表示されるテーブルの定義は下記の通りです。
203
+
204
+ CREATE TABLE "PyPostTbl" (
205
+ "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
206
+ "KuwakeId" INTEGER NOT NULL,
207
+ "Name" TEXT NOT NULL,
208
+ "Huri" TEXT NOT NULL UNIQUE,
209
+ "Add1" TEXT,
210
+ "Add2" TEXT,
211
+ "Add3" TEXT,
212
+ "PostNo" TEXT,
213
+ "Tel1" TEXT,
214
+ "Tel2" TEXT,
215
+ "Email" TEXT,
216
+ "Nennga" TEXT,
217
+ "Seibo" TEXT,
218
+ "Bikou1" TEXT,
219
+ "Bikou2" TEXT
220
+ );

1

<code>を使用しコード部分のインデックスが表示される様に修正

2020/03/16 07:57

投稿

akiteru
akiteru

スコア21

title CHANGED
File without changes
body CHANGED
@@ -1,14 +1,21 @@
1
- ①//////// 初心者です。PYTHONでファイルを分割親子)したのですがエラが発生対策を教えてください。
2
-  又、修正した方が良い部分があればご指摘ください。
3
- ②/////// 下記ソースコードは正常に動作します。こをメインプログラム(parent.py)と画面作成部分(child1.py)とボタンクリック動作部分(child2.py)にファイルに分割したい。
1
+ 既に同じ質問を3回目となる投稿です、投稿ール、「編集」、「削除」等の処理方法が今一つ理解不足でご迷惑かけています。これからは言い訳です投稿のコード部分のインデントが質問入力画面では有るにもかかわらず新着の質問で表示させると全て削除され左側揃えとなっています。2回目投稿ではご指摘で<code>で挿入したのですが頭尾にある「'''」を文面作成フォムで削除しました(入力画面ではインデント有)この為と思われますが投稿の様にすべて左揃になっていました
2
+ 下記文面はコード部分が入力フォームとプレビュー画面ともにインデント有で表示れてます
3
+ 正常に表示さるようでしたら、よろしくお願します
4
4
 
5
+ (1) //////// 初心者です。PYTHONでファイルを分割(親子関係で)したいのですがエラーが発生。対策を教えて下さい。
6
+ 又、修正した方が良い部分があればご指摘ください。
7
+
8
+ (2) /////// 下記ソースコードは正常に動作します。これをメインプログラム(parent.py)と画面作成部分(child1.py)とボタンクリック動作部分(child2.py)にファイルに分割したい。
9
+
10
+ (3) 正常に動作する元コード及びエラーが出る三分割後コードは下記の通りです
11
+
5
12
  ////////////元コード(original.py):正常に動作する
13
+ ```
6
- # ***** original.py
14
+ #*** original.py
7
15
  import tkinter as tk
8
16
  import tkinter.ttk as ttk
9
17
  import sqlite3
10
18
 
11
-
12
19
  class MainWindow(ttk.Frame):
13
20
  def __init__(self, parent):
14
21
  super(MainWindow, self).__init__(parent)
@@ -41,7 +48,7 @@
41
48
  self.entry1_1.pack(side="left")
42
49
 
43
50
  # 検索ボタンの設定
44
- self.button1_4 = tk.Button(self.tab1,text="検索",font=("",14),width=5,bg="gray",command=self.show_datalist)
51
+ self.button1_4 = tk.Button(self.tab1,text="検 索",font("",14),width=5,bg="gray",command=self.show_datalist)
45
52
  self.button1_4.pack()
46
53
 
47
54
  #**********データベース接続
@@ -76,10 +83,11 @@
76
83
  window = MainWindow(application)
77
84
  application.protocol('WM_DELETE_WINDOW', window.quit)
78
85
  application.mainloop()
86
+ ```
79
87
 
80
- /////////// 分割後の3ファイルコードparent.py child1.py child2.py
88
+ ///////////  エラーとなる三分割後コードparent.py child1.py child2.py)
81
-
82
- //////(コード parent.py)
89
+ ///親コードparent.py)
90
+ ```
83
91
  # ******* parent.py
84
92
  import tkinter as tk
85
93
  import tkinter.ttk as ttk
@@ -88,7 +96,6 @@
88
96
  import child1 as ch1
89
97
  import child2 as ch2
90
98
 
91
-
92
99
  class MainWindow(ttk.Frame):
93
100
  def __init__(self, parent):
94
101
  super(MainWindow, self).__init__(parent)
@@ -106,7 +113,6 @@
106
113
  # ****検索実行ボタンが押された処理
107
114
  ch2.show_datalist(self)
108
115
 
109
-
110
116
  def quit(self, event=None):
111
117
  # 終了時の処理
112
118
  self.conn.close()
@@ -118,9 +124,10 @@
118
124
  window = MainWindow(application)
119
125
  application.protocol('WM_DELETE_WINDOW', window.quit)
120
126
  application.mainloop()
121
-
127
+ ```
122
- ////////(画面作成部子コード child1.py)
128
+ //////子コード1(child1.py)
123
-
129
+ ```
130
+ #**** child1.py
124
131
  import tkinter as tk
125
132
  import tkinter.ttk as ttk
126
133
  import sqlite3
@@ -154,8 +161,11 @@
154
161
  self.button1_4 = tk.Button(self.tab1,text="検索",font=("",14),width=5,bg="gray",command=ch2.show_datalist)
155
162
  self.button1_4.pack()
156
163
 
164
+
165
+ ```
157
- ////////(ボタンクリック動作部 子コード child2.py)
166
+ //// 子コード2(child2.py)
167
+ ```
158
- # *****child2.py
168
+ # **** child2.py
159
169
  import tkinter as tk
160
170
  import tkinter.ttk as ttk
161
171
  import sqlite3
@@ -178,10 +188,10 @@
178
188
  else:
179
189
  for row in r:
180
190
  print(row[2],row[4])
181
-
191
+ ```
182
- /////// 分割後実行すると、フォームは正常に表示されます。ォーム表示と同時に全デーが表示されます。
192
+ 4) //////////// 分割前はフォーム表示された後、「リガナ」を入力し「検索」ボンをクリックすると結果が表示されます。
183
-       ボタンをクリックすると下記エラーが表示され検索結果は表示されません
193
+ これに対し分割後はフォームが表示された後、「フリガナ」を入力する以前に全登録データが表示されます。その後「フリガナ」を入力し「検索」ボタンをクリックすると下記エラーが表示され検索結果は表示されません
184
194
  raceback (most recent call last):
185
- File "C:\Users\akiteru\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in __call__
195
+ File "C:\Users\akiteru\AppData\Local\Programs\Python\Python38\lib\tkinter\init.py", line 1883, in call
186
- return self.func(*args)
196
+ return self.func(*args)
187
197
  TypeError: show_datalist() missing 1 required positional argument: 'self'