回答編集履歴

2

コメント対応

2019/09/23 03:35

投稿

nomuken
nomuken

スコア1627

test CHANGED
@@ -45,3 +45,73 @@
45
45
  QMessageBox.about(self, "Title", '名前: ' + self.textname.text() + '\nTEL: ' + self.texttel.text() + '\n性別: ' + strSex)
46
46
 
47
47
  ```
48
+
49
+
50
+
51
+ ---
52
+
53
+ > ①ラジオボタンの値の取得
54
+
55
+
56
+
57
+ ラジオボタンを取り扱う場合はまず「グループ化」が必要です。(ラジオボタンはそのグループの中で一つだけ選択可能となります。)
58
+
59
+
60
+
61
+ importにQButtonGroupを追加
62
+
63
+ ```Python
64
+
65
+ from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QGridLayout, QPushButton, QLineEdit, QMessageBox, QCheckBox, QRadioButton, QButtonGroup
66
+
67
+ ```
68
+
69
+
70
+
71
+ ラジオボタン作成後にグループ化。同時にボタンにIDを振ります。今回の場合は0=A, 1=B, 2=O, 3=AB
72
+
73
+ ```Python
74
+
75
+ self.groupBloodType = QButtonGroup()
76
+
77
+ self.groupBloodType.addButton(self.radioA, 0)
78
+
79
+ self.groupBloodType.addButton(self.radioB, 1)
80
+
81
+ self.groupBloodType.addButton(self.radioO, 2)
82
+
83
+ self.groupBloodType.addButton(self.radioAB, 3)
84
+
85
+ ```
86
+
87
+
88
+
89
+ self.groupBloodType.checkedId()でグループの中で選択されているボタンのIDをとれます。
90
+
91
+ ```Python
92
+
93
+ if self.groupBloodType.checkedId() < 0:
94
+
95
+ strBloodType = "未選択"
96
+
97
+ else:
98
+
99
+ strBloodType = [ 'A', 'B', 'O', 'AB' ][self.groupBloodType.checkedId()]
100
+
101
+ ```
102
+
103
+
104
+
105
+ > ②Qtページにて、どのようにして該当のものを探し出しているか
106
+
107
+
108
+
109
+ 基本は
110
+
111
+ [Qt 5.13 Documentationのページ](https://doc.qt.io/qt-5/index.html)で右上の検索欄からクラス名で検索します。
112
+
113
+
114
+
115
+ あとはやりたいことから適当に単語を抜き出して" PyQt5 [抜き出した単語]"でググります。
116
+
117
+ 必要であればすべての単語を英語にして日本語限定を外して検索します。

1

実装例追加

2019/09/23 03:35

投稿

nomuken
nomuken

スコア1627

test CHANGED
@@ -9,3 +9,39 @@
9
9
  ```
10
10
 
11
11
  みたいな感じです。
12
+
13
+
14
+
15
+ ---
16
+
17
+ > 申し訳ありませんが、具体的にどのようにコードを書けば良いか教えて頂けますでしょうか??
18
+
19
+
20
+
21
+ こんな感じでしょうか
22
+
23
+ ```Python
24
+
25
+ def buttonClicked(self):
26
+
27
+ if self.checkman.checkState() and self.checkwoman.checkState():
28
+
29
+ strSex = "なぞ"
30
+
31
+ elif self.checkman.checkState():
32
+
33
+ strSex = "男性"
34
+
35
+ elif self.checkwoman.checkState():
36
+
37
+ strSex = "女性"
38
+
39
+ else:
40
+
41
+ strSex = "未選択"
42
+
43
+
44
+
45
+ QMessageBox.about(self, "Title", '名前: ' + self.textname.text() + '\nTEL: ' + self.texttel.text() + '\n性別: ' + strSex)
46
+
47
+ ```