別の日の時間(ない任意の大きな仕事)。今日の考え方:(1)フロントの後端を接続する方法?(2)バックエンドデータベースは、従来の完全に役に立たない逆ルックアップ方法辞書のデータ(3)補間(4)突然QGridLayout、さらにより中毒性の(5)にQLineEdit、QInputDialogと、利用オブジェクト指向プログラミングは、実際には非常に良好であることを見出した (6) データベース機能に接続するように設計されたclicked.connect()キートリガー「イベント」(7)と、QtSqlは(8)QSqlDatabase、QSqlQueryは二つの小さな物事は本当に私はピットの多くにステップさせることができます(9)いくつかのクラスを踏んコード クエリQSqlQuery =() "インスタンス化"、 query.prepare(F ' SELECT Rclassification Rub_clからWHERE RNAME = "{テキスト}" ') 二重引用符の極端な重要な、 query.next() 最後の怠惰なpyInstallerの持つ意味(10) .exeのHHとしてパッケージ化してもぞんざい。それはデータベース-D方法を使用する必要が付属しているので注意してください。
ごみアプレットは、おそらく最後に来ました。多くの場所がありますが、最適化することができ、アイデアの多くは、私の心に残っていますが、少なくとも今私は(笑抜け出す)怠惰になりたくありません。昨日は本当に良いやって、完成したマイクロチャネルアプレットを見て、私は極度に達している感じを考えることができます(マイクロチャネル検索アプレット:「ごみを分割する方法」)。本当に良い、私はまだ長い道のりがあります。
1 インポートsqlite3のSYS、 2 #PyQt5.QtWidgetsインポート(QWidgetの、のQPushButton、QLabel、にQLineEdit、QInputDialog、はQApplication、QGridLayout)から 3 から PyQt5.QtWidgetsがインポート * 4 から PyQt5 インポートQtSql 5 から PyQt5.QtSqlのインポート * 6 #PyQt5から.QtSqlインポートQSqlDatabase、QSqlQuery 7 8 クラスの例(QWidgetの): 9 デフ __init__ (自己): 10 スーパー()。__init__ () 11 self.initUI() 12 13 DEF initUI(自己): 14 self.btn =のQPushButton(' スタート'、自己)#按钮 15 self.btn.clicked.connect(self.showDialog) 16 17 self.le =にQLineEdit(自己)#单行编辑框 18 19 テキスト= QLabel(' 是' ) 20 21 self.answer = にQLineEdit(自己) 22 23 グリッド= QGridLayout() 24 grid.setSpacing(10 ) 25 26 grid.addWidget(self.btn、1,0,1,3) #最後の二つのパラメータを設定することができ、スパンをランク付け。ここでは3のスパンをランク付けラインがあります。 27 grid.addWidget(self.le、2 、0) 28 grid.addWidget(テキスト、2,1 ) 29 grid.addWidget(self.answer、2,2& ) 30 31である self.setLayout(グリッド) 32 33である self.setGeometry (300300350350 ) 34がある self.setWindowTitle(' 入力ダイアログ' ) 35 self.show() 36 37 [ DEF にShowDialog(セルフ): 38である グローバルテキスト 39 テキスト、OK = QInputDialog.getText(自己、' 入力ダイアログ'、' ゴミを入力してください' ) 40 であればOK: 41 self.le.setText(文字列(テキスト)) 42 self.showAnswer() 43 44 DEF showAnswer(自己): 45 のdb = QSqlDatabase.addDatabase(' QSQLITE ' ) 46 db.setDatabaseName(' Rubbish.db ' ) 47 db.open() 48 クエリ= QSqlQuery() 49 (F query.prepare ' RNAME = "{テキスト}は" Rub_clからSELECT Rclassification ' 二重引用符キー#ある) 50 クエリ。Execの() 51は #1 (query.next) 52は、 #1 印刷(Query.value(0)) 53れます IF はない。クエリExecの(): 54です query.lastError() #直近のエラーメッセージを返す 55を 、他: 56です (query.next) 57がされた 『』 ' 58 QSqlQuery戻りデータセットを、レコードが最初のレコードの前に停止しています。 59 したがって、データセットを取得した後に実行されなければならない最初のレコードに()(次)または最初、 60 この時間の記録は有効です。 61である ' '' 62である answertoprint = Query.value(0) 63である self.answer.setText(STR(answertoprint)) 64 65 66 67 IF __name__ == ' __main__ ' : 68 69 アプリケーションは= はQApplication(sys.argvの) 70 EXを= 例() 71は sys.exit(app.exec_())
pyInstallerのコマンドライン:
CD blablablablabla pyInstallerの -D(-F)-i icon.ico rubbish_classification.py
私は忘れる恐れ補足いくつかのURL:
ICOアイコンます。https://www.easyicon.net/
Qtのドキュメントします。https://doc.qt.io/qt-5/qsqlquery.html
QMessageBox类ドクます。http://www.kuqin.com/qtdocument/qmessagebox.html
DevDocs APIドキュメント(だと思いません開発者向けドキュメント、私は発言権を保持できるようにする理由がわからない)します。https://docs.segmentfault.com/
私は確かに大きなジョブ:-)をよ