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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4140閲覧

Pythonで更新されていくテキストファイルの最終行を表示したいが表示されたテキストが更新されない

fut

総合スコア12

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Qt

QtはGUIプログラムの開発で広く使われているクロスプラットフォーム開発のフレームワークです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2016/11/30 08:23

編集2016/12/01 05:18

Pythonで更新されていくテキストファイルの最終行を表示したいのですがファイルは更新されているのにPyQt4で表示しているテキストが更新されません。
更新されるようにするにはどうしたらよいでしょうか?

#!/usr/bin/python # -*- coding: utf-8 -*- import os import sys import linecache from PyQt4 import QtGui, QtCore NAME = '/home/tklabubuntu01/test/analysis/data/20161128/201611281200/mr201611281155_201611281230.png' # 画像ファイル lines = sum(1 for line in open('/home/tklabubuntu01/test/analysis/log/log.txt')) line = linecache.getline('/home/tklabubuntu01/test/analysis/log/log.txt', int(lines)) ap = QtGui.QApplication(sys.argv) # アプリケーションオブジェクトの生成 wg = QtGui.QWidget() # ウイジェットの生成(空のウインドウ) wg.resize(512, 600) # サイズの変更 wg.move(500, 300) # ウィンドウ位置の変更 wg.setWindowTitle('First Qt program') # タイトル名の指定 label1 = QtGui.QLabel(line,wg) # ウイジェット上にラベルを生成 font=QtGui.QFont() # フォント書式を生成 font.setPointSize(22) # フォントサイズを変更 label1.setFont(font) # ラベルのフォントに指定 label1.move(0, 10) #文字の位置 if not os.path.isfile(NAME) : print('%s %s'%(u"画像ファイルが存在しません",NAME)) sys.exit(-1) pic = QtGui.QPixmap(NAME) label3 = QtGui.QLabel(wg) label3.setPixmap(pic) label3.move(0, 80) #画像の位置 wg.show() # 表示 sys.exit(ap.exec_()) # アプリケーションの実行と終了時の処理

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

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

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

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

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

nagaetty

2016/11/30 23:38

ソースコードが大変読みずらいので、「</>」をクリックしてから表示された'''と'''の行の間にソースコードを移動していただけないでしょうか?
coco_bauer

2016/12/01 01:35

何が問題ですか? 質問のコードは「テキストファイルを1回読み、それを表示する」ものですから、表示後にテキストファイルが変更されても画面表示が変わる事は無いです。
fut

2016/12/01 01:50

テキストファイルが更新される度に表示も更新されるようにしたいのですが、どのようにしたらいいですか?
guest

回答2

0

ベストアンサー

pythonでファイル監視をするのであればwatchdogモジュールで簡単に監視できます。

また、ファイル監視であればタイマー精度はそれほど必要ないので、QObject.startTimerで定期的の更新チェックをするのが一番簡単な実装です。

投稿2017/05/11 07:04

pashango2

総合スコア930

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

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

0

ファイル更新監視は、基本的に自前で行う必要があります。
以下、基本的な考えを示します。

たとえば以下では指定ディレクトリ配下のファイル数を別スレッドで数えてUI側を随時更新しています。
PyQt4 の UI 操作のマルチスレッド処理

上記のスレッド処理(run関数)を、以下のようなファイル更新日時を監視するループに置き換えることで、目的の動作はできます。
Pythonでファイル更新検知して任意のコマンドを実行する簡易コマンドを作った

投稿2016/12/01 07:06

can110

総合スコア38256

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問