開始行:
** pyqtSlotの便利な使い方 [#vf04575c]
http://t2y.hatenablog.jp/entry/20101114/1289713526
** PySide import 方法 [#oca875b9]
try:
from PySide.QtCore import *
from PySide.QtGui import *
qt = 1
except:
try:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
qt = 2
except:
raise Exception('Error load PyQt or PySide')
** メモリリーク対策 [#f6b532d3]
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
def __init__()の中で上のオプションを宣言しておく。Qtは閉...
** PySide or PyQt の使い分け [#g04e0027]
if use_pyside:
from PySide import QtGui, QtCore
else:
from PyQt4 import QtGui, QtCore
** qt designer [#k6bf2aeb]
[[Qt Designer を使った画面の作成と表示>http://log.noireta...
>PySide をインストールすると、一緒に Qt Designer も入って...
*** ui ファイルを直接読み込む場合 [#bece77e9]
import os
import sys
from PySide import QtGui, QtUiTools
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
# Ui Loader
loader = QtUiTools.QUiLoader()
# Ui ファイルを読み込んでオブジェクトを取得
ui = loader.load(os.path.dirname(os.path.abspath(...
# 表示
ui.show()
# 各ウィジェットなどは、デザイナーで設定した名前...
ui.exit_action.triggered.connect(app.quit)
sys.exit(app.exec_())
*** .uiファイルを.pyファイルに変換して使う [#tc3ed044]
pyside-uic.exe Ui.ui > Ui_.py
from PySide.QtCore import *
from PySide.QtGui import *
from Ui_2 import *
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
if __name__ == "__main__":
app = QApplication([])
w = MainWindow()
w.show()
sys.exit(app.exec_())
** PySideでMaplotlibのウィジェットを使う方法 [#h0930a18]
[[→Embed Matplotlib into PyQt as a custom widget>http://s...
*** FigureCnavasの継承クラス [#b29698f8]
[[→Custum FigureCanvas>http://matplotlib.org/examples/use...
** Widgetでドラッグドロップを使う [#ydc7c9f8]
#prettify{{
class MainWidget(QWidget):
def __init__(self, parent=None):
super(MainWidget, self).__init__(parent)
self.setWindowTitle(u"D&D")
self.resize(160, 120)
self.setAcceptDrops(True)
def dragEnterEvent(self, event):
if event.mimeData().hasUrls():
event.accept()
else:
event.ignore()
def dropEvent(self, event):
cmd = [sys.executable, sys.argv[1]] + \
[unicode(u.toLocalFile()) for u in event.mi...
exit(subprocess.call(cmd))
}}
** QWidgetの背景色を変更する [#t3ced8c2]
- 変更する方法は2種類
+ QPalleteを使う方法
widget = QWidget()
palette = QPalette()
palette.setColor(QPalette.Background, Qt.black
widget.setAutoFillBackground(True)
widget.setPalette(palette)
+ スタイルシート(CSS)を使う方法
widget = QWidget()
widget.setStyleSheet("background-color:white;")
widget.show()
+ 背景の描画をOFF
self.setAttribute(Qt.WA_TranslucentBackground, Tr...
** lineEditの文字が変更されたら、ラベルに追加 [#nbb7bab8]
self.line_edit = QLineEdit()
layout.addWidget(self.line_edit)
self.label = QLabel()
layout.addWidget(self.label)
self.line_edit.textChanged.connect(self.line_edit_tex...
self.show()
def line_edit_text_changed(self, text):
self.label.setText(text)
** ステータスバーにフラッシュ [#b2c7fc06]
self.statusbar.showMessage("Error!!! Please check Email ...
** SIGNALとSLOT [#qc706ef3]
class MainWindow(QMainWindow, Ui_MainWindow):
# シグナルを生成
# ここじゃないとうまく動かない
dataLoaded = Signal()
dataLoaded = Signal(int)
def analysis(self):
# シグナル発行
self.dataLoaded.emit()
@Slot()
def changeGAKey(self, key):
self.ga_key = key
print self.ga_key
** PyInstaller and PySide のPEMエラー google App API [#dc...
NotImplementedError: PKCS12 format is not supported by t...
Try converting to a "PEM" (openssl pkcs12 -in xxxxx.p12 -...
[[→SignedJwtAssertionCredentials on AppEngine doesn't rec...
p12ファイルを.pemに変更する
openssl pkcs12 -in privatekey.p12 -nodes -nocerts > priv...
pemをpemに
openssl pkcs8 -nocrypt -in privatekey.pem -passin pass:n...
** PySideをCSSでデザイン変更する [#a8577b08]
[[→PySideのUIをCSSでアレンジしてみる>http://www.dfx.co.jp...
app = QtGui.QApplication(sys.argv)
# CSSをインポート
app.setStyleSheet(qcss13())
def qcss13():
s = '''
QMainWindow{
background-color: #000;
}'''
return s
** プログレスバーをステータスバーに表示する [#j1fddcb1]
self.progressBar = QProgressBar()
self.statusbar.addPermanentWidget(self.progressBar)
self.progressBar.reset()
self.progressBar.setVisible(False)
self.progressBar.setValue(10)
self.statusBar().showMessage("File opened"+self.f...
** ドラッグ&ドロップ可能なツリービュー [#od57b49b]
[[http://melpystudio.blog82.fc2.com/blog-entry-115.html]]
** ファイルリストを取り扱う QListView [#ydbd95c1]
[[PySideでリストをカスタマイズするぞ! ~基礎編「model/v...
[[PySideでリストをカスタマイズするぞ! ~応用編「delegat...
** ドラッグアンドドロップを許可する方法 [#z1ef509e]
- self.setAcceptDrops(True)
** サイズの設定 [#y68a1f6c]
def minimumSizeHint(self):
"""最小サイズ値の定義(オーバーライド)"""
return QtCore.QSize(50, 50)
def sizeHint(self):
"""規定サイズ値の定義(オーバーライド)"""
return QtCore.QSize(180, 180)
** レンダリング時のアンチエイリアスの指定 [#aaf535f3]
painter.setRenderHint(QtGui.QPainter.Antialiasing...
** 座標値のオフセット(オブジェクトの中央に移動) [#b2004962]
painter.translate(0, self.height() / 2)
** painterクックブック(QPen) [#d2f5a88e]
def settingLine(self, painter):
""" ラインを引く
ラインを引くためには、QPenオブジェクトを生成し、設定...
:link: https://srinikom.github.io/pyside-docs/PySide...
:link: http://zetcode.com/gui/pysidetutorial/drawing/
"""
# QPenの生成
# ::::::::::::::::::::::::::::::::::::::::::::::::::...
pen = QtGui.QPen(QtCore.Qt.black, 2, QtCore.Qt.Solid...
# 線の太さの設定
pen.setWidth(3)
# Cap Style 線の端部の形状変更
pen.setCapStyle(QtCore.Qt.SquareCap) # 四角
pen.setCapStyle(QtCore.Qt.FlatCap) # 四角
pen.setCapStyle(QtCore.Qt.RoundCap) # 丸
# Join Style: 線の角部の形状
pen.setJoinStyle(QtCore.Qt.BevelJoin) # フラット
pen.setJoinStyle(QtCore.Qt.MiterJoin) # 角
pen.setJoinStyle(QtCore.Qt.RoundJoin) # 丸
# 線の種類の変更
pen.setStyle(QtCore.Qt.SolidLine) # ソリッド
pen.setStyle(QtCore.Qt.DashLine) # 破線
pen.setStyle(QtCore.Qt.DotLine) # 点線
pen.setStyle(QtCore.Qt.DashDotLine) # 1点破線
pen.setStyle(QtCore.Qt.DashDotDotLine) # 2点は線
pen.setStyle(QtCore.Qt.CustomDashLine) # ユーザ指定
pen.setDashPattern([1, 4, 5, 4])
# プロパティの適用 (おまじない)
painter.setPen(pen)
# drawLine(int,int,int,int)
painter.drawLine(0, np.ceil(self.height() / 2), self...
** painterクックブック(文字の書き方) [#d2f5a88e]
def settingText(self, event, painter):
""" 文字の書き方
QtGui.QPainter.drawText(r, flags, text)
:link: https://srinikom.github.io/pyside-docs/PyS...
"""
# 書きだす文字
text = 'Graph Title'
# 文字の色を設定
painter.setPen(QtGui.QColor(168, 34, 3))
# 文字のフォントと、文字サイズを設定
painter.setFont(QtGui.QFont('Decorative', 30))
# テキストの表示位置
# :::::::::::::::::::::::::::::::::::
# QtCore.Qt.AlignLeft
# QtCore.Qt.AlignRight
# QtCore.Qt.AlignHCenter
# QtCore.Qt.AlignJustify
# QtCore.Qt.AlignTop
# QtCore.Qt.AlignBottom
# QtCore.Qt.AlignVCenter
# QtCore.Qt.AlignCenter
# QtCore.Qt.TextDontClip
# QtCore.Qt.TextSingleLine
# QtCore.Qt.TextExpandTabs
# QtCore.Qt.TextShowMnemonic
# QtCore.Qt.TextWordWrap
# QtCore.Qt.TextIncludeTrailingSpaces
painter.drawText(event.rect(), QtCore.Qt.AlignHCe...
# painter.drawText(event.rect(), QtCore.Qt.AlignT...
# painter.drawText(int(x0), int(y0), int(w), int(...
** painterクックブック [#w290bceb]
pen.setColor(QtCore.Qt.black)
pen.setWidth(2)
painter.setPen(pen)
painter.setBrush(QtGui.QBrush(QtCore.Qt.green, Qt...
qpoints = [QtCore.QPointF(radius * np.sin(2. * np.p...
range(0, N)]
poly = QtGui.QPolygonF(qpoints)
painter.drawPolygon(poly)
** Window 最前面に表示 [#l8654496]
# 最前面に表示
self.setWindowFlags(Qt.WindowStaysOnTopHint)
** Window 枠を非表示 [#c23d29f0]
# 枠を非表示
self.setWindowFlags(Qt.FramelessWindowHint)
** タイトルにヴァージョンを表示 [#h5a535cf]
__version__ = '1.0'
self.setWindowTitle(QApplication.translate("Widget", "Pa...
** スタイルの変更 [#q799fcad]
qtDesignerのPreferences>Print/Previewからも確認できます。...
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setStyle('plastique')
・plastique
・motif
・cde
・gtk
・cleanlooks
・windows
・windowsxp (winのみ)
・windowsvista (winのみ)
・macintosh (macのみ)
cleanlooksかplastique以外は、グレーバック。
** 名前を付けて保存ダイアログ [#z5715185]
filename, ext = QFileDialog.getSaveFileName(self, "Save ...
# 保存場所を開いてあげると親切
from subprocess import Popen
def save_figure(self):
filename, ext = QFileDialog.getSaveFileName(self,...
QPixmap.grabWidget(self).save("clipboad.png")
QPixmap.grabWidget(self).save(filename)
# エクスプローラをオープン
cmd_file = 'explorer /select, "%s"' % (os.path.no...
Popen(cmd_file)
** リソースファイルを使う方法 [#s8f06b7c]
http://log.noiretaya.com/259
http://flame-blaze.net/archives/3041
パスを通す
PATH C:Anaconda2_32bit\Lib\site-packages\PySide\
変換
pyside-rcc -py2 Resource.qrc > Resource_rc.py
インポート
import PC_Momentum_Logger.Resource_rc
<RCC>
<qresource prefix="/" >
<file>jquery.min.js</file>
<file>overwrite.css</file>
</qresource>
</RCC>
** MDI [#q3eda39f]
https://github.com/PySide/Examples/blob/master/examples/m...
** QGraphicsのサンプル [#b9f37471]
** QGraphics [#cee43648]
QGraphicsView, QGraphicsScene, QGraphicsItem関連の情報収...
PySideで画像の表示とドラッグ移動
http://blawat2015.no-ip.com/~mieki256/diary/20150626.html
PyQtでイメージビューワ
http://melpystudio.blog82.fc2.com/blog-entry-138.html
[PYSIDE] GRAPHICSVIEWで遊ぼう その1 基本
http://flame-blaze.net/archives/5219
** QGraphicsの使い方 [#e10d6840]
# 処理系おまじない
self.setCacheMode(QGraphicsView.CacheBackground)
self.setRenderHints(QPainter.Antialiasing | QPainter.S...
localRect = self.boundingRect() # 自身の矩形範囲
** QWidgetの画面を画像保存 [#ac2c0082]
def save_figure(self):
QPixmap.grabWidget(self).save("clipboad.png")
** Windows対応:日本語フォルダも扱う [#l2254d3e]
path = unicode(url.toLocalFile()) ※ strでは使えない
# ドラッグドロップしてきたファイルにはこう使えばよい
files = [unicode(u.toLocalFile()) for u in event.mimeDat...
** QWebkitを使ってWebサイトを表示 [#t51d2681]
# ブラウザの作成
self.browser = QWebView(self)
# URLの設定
self.browser.load(QUrl('http://localhost/Recomen/...
# レイアウトにアタッチ
vbox.addWidget(self.browser)
# 親レイアウトに合わせて伸縮する設定
# self.setSizePolicy(QSizePolicy.Expanding, QSize...
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy...
** QtWebkitのオプション一覧 [#j70817a4]
http://trac.webkit.org/wiki/ConfigurableFeatures
** Youtubeの観覧 [#p82d4335]
初期状態ではプラグインの許可がなく動画再生できない
self.browser.settings().setAttribute(QWebSettings.Plugin...
終了行:
** pyqtSlotの便利な使い方 [#vf04575c]
http://t2y.hatenablog.jp/entry/20101114/1289713526
** PySide import 方法 [#oca875b9]
try:
from PySide.QtCore import *
from PySide.QtGui import *
qt = 1
except:
try:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
qt = 2
except:
raise Exception('Error load PyQt or PySide')
** メモリリーク対策 [#f6b532d3]
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
def __init__()の中で上のオプションを宣言しておく。Qtは閉...
** PySide or PyQt の使い分け [#g04e0027]
if use_pyside:
from PySide import QtGui, QtCore
else:
from PyQt4 import QtGui, QtCore
** qt designer [#k6bf2aeb]
[[Qt Designer を使った画面の作成と表示>http://log.noireta...
>PySide をインストールすると、一緒に Qt Designer も入って...
*** ui ファイルを直接読み込む場合 [#bece77e9]
import os
import sys
from PySide import QtGui, QtUiTools
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
# Ui Loader
loader = QtUiTools.QUiLoader()
# Ui ファイルを読み込んでオブジェクトを取得
ui = loader.load(os.path.dirname(os.path.abspath(...
# 表示
ui.show()
# 各ウィジェットなどは、デザイナーで設定した名前...
ui.exit_action.triggered.connect(app.quit)
sys.exit(app.exec_())
*** .uiファイルを.pyファイルに変換して使う [#tc3ed044]
pyside-uic.exe Ui.ui > Ui_.py
from PySide.QtCore import *
from PySide.QtGui import *
from Ui_2 import *
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
if __name__ == "__main__":
app = QApplication([])
w = MainWindow()
w.show()
sys.exit(app.exec_())
** PySideでMaplotlibのウィジェットを使う方法 [#h0930a18]
[[→Embed Matplotlib into PyQt as a custom widget>http://s...
*** FigureCnavasの継承クラス [#b29698f8]
[[→Custum FigureCanvas>http://matplotlib.org/examples/use...
** Widgetでドラッグドロップを使う [#ydc7c9f8]
#prettify{{
class MainWidget(QWidget):
def __init__(self, parent=None):
super(MainWidget, self).__init__(parent)
self.setWindowTitle(u"D&D")
self.resize(160, 120)
self.setAcceptDrops(True)
def dragEnterEvent(self, event):
if event.mimeData().hasUrls():
event.accept()
else:
event.ignore()
def dropEvent(self, event):
cmd = [sys.executable, sys.argv[1]] + \
[unicode(u.toLocalFile()) for u in event.mi...
exit(subprocess.call(cmd))
}}
** QWidgetの背景色を変更する [#t3ced8c2]
- 変更する方法は2種類
+ QPalleteを使う方法
widget = QWidget()
palette = QPalette()
palette.setColor(QPalette.Background, Qt.black
widget.setAutoFillBackground(True)
widget.setPalette(palette)
+ スタイルシート(CSS)を使う方法
widget = QWidget()
widget.setStyleSheet("background-color:white;")
widget.show()
+ 背景の描画をOFF
self.setAttribute(Qt.WA_TranslucentBackground, Tr...
** lineEditの文字が変更されたら、ラベルに追加 [#nbb7bab8]
self.line_edit = QLineEdit()
layout.addWidget(self.line_edit)
self.label = QLabel()
layout.addWidget(self.label)
self.line_edit.textChanged.connect(self.line_edit_tex...
self.show()
def line_edit_text_changed(self, text):
self.label.setText(text)
** ステータスバーにフラッシュ [#b2c7fc06]
self.statusbar.showMessage("Error!!! Please check Email ...
** SIGNALとSLOT [#qc706ef3]
class MainWindow(QMainWindow, Ui_MainWindow):
# シグナルを生成
# ここじゃないとうまく動かない
dataLoaded = Signal()
dataLoaded = Signal(int)
def analysis(self):
# シグナル発行
self.dataLoaded.emit()
@Slot()
def changeGAKey(self, key):
self.ga_key = key
print self.ga_key
** PyInstaller and PySide のPEMエラー google App API [#dc...
NotImplementedError: PKCS12 format is not supported by t...
Try converting to a "PEM" (openssl pkcs12 -in xxxxx.p12 -...
[[→SignedJwtAssertionCredentials on AppEngine doesn't rec...
p12ファイルを.pemに変更する
openssl pkcs12 -in privatekey.p12 -nodes -nocerts > priv...
pemをpemに
openssl pkcs8 -nocrypt -in privatekey.pem -passin pass:n...
** PySideをCSSでデザイン変更する [#a8577b08]
[[→PySideのUIをCSSでアレンジしてみる>http://www.dfx.co.jp...
app = QtGui.QApplication(sys.argv)
# CSSをインポート
app.setStyleSheet(qcss13())
def qcss13():
s = '''
QMainWindow{
background-color: #000;
}'''
return s
** プログレスバーをステータスバーに表示する [#j1fddcb1]
self.progressBar = QProgressBar()
self.statusbar.addPermanentWidget(self.progressBar)
self.progressBar.reset()
self.progressBar.setVisible(False)
self.progressBar.setValue(10)
self.statusBar().showMessage("File opened"+self.f...
** ドラッグ&ドロップ可能なツリービュー [#od57b49b]
[[http://melpystudio.blog82.fc2.com/blog-entry-115.html]]
** ファイルリストを取り扱う QListView [#ydbd95c1]
[[PySideでリストをカスタマイズするぞ! ~基礎編「model/v...
[[PySideでリストをカスタマイズするぞ! ~応用編「delegat...
** ドラッグアンドドロップを許可する方法 [#z1ef509e]
- self.setAcceptDrops(True)
** サイズの設定 [#y68a1f6c]
def minimumSizeHint(self):
"""最小サイズ値の定義(オーバーライド)"""
return QtCore.QSize(50, 50)
def sizeHint(self):
"""規定サイズ値の定義(オーバーライド)"""
return QtCore.QSize(180, 180)
** レンダリング時のアンチエイリアスの指定 [#aaf535f3]
painter.setRenderHint(QtGui.QPainter.Antialiasing...
** 座標値のオフセット(オブジェクトの中央に移動) [#b2004962]
painter.translate(0, self.height() / 2)
** painterクックブック(QPen) [#d2f5a88e]
def settingLine(self, painter):
""" ラインを引く
ラインを引くためには、QPenオブジェクトを生成し、設定...
:link: https://srinikom.github.io/pyside-docs/PySide...
:link: http://zetcode.com/gui/pysidetutorial/drawing/
"""
# QPenの生成
# ::::::::::::::::::::::::::::::::::::::::::::::::::...
pen = QtGui.QPen(QtCore.Qt.black, 2, QtCore.Qt.Solid...
# 線の太さの設定
pen.setWidth(3)
# Cap Style 線の端部の形状変更
pen.setCapStyle(QtCore.Qt.SquareCap) # 四角
pen.setCapStyle(QtCore.Qt.FlatCap) # 四角
pen.setCapStyle(QtCore.Qt.RoundCap) # 丸
# Join Style: 線の角部の形状
pen.setJoinStyle(QtCore.Qt.BevelJoin) # フラット
pen.setJoinStyle(QtCore.Qt.MiterJoin) # 角
pen.setJoinStyle(QtCore.Qt.RoundJoin) # 丸
# 線の種類の変更
pen.setStyle(QtCore.Qt.SolidLine) # ソリッド
pen.setStyle(QtCore.Qt.DashLine) # 破線
pen.setStyle(QtCore.Qt.DotLine) # 点線
pen.setStyle(QtCore.Qt.DashDotLine) # 1点破線
pen.setStyle(QtCore.Qt.DashDotDotLine) # 2点は線
pen.setStyle(QtCore.Qt.CustomDashLine) # ユーザ指定
pen.setDashPattern([1, 4, 5, 4])
# プロパティの適用 (おまじない)
painter.setPen(pen)
# drawLine(int,int,int,int)
painter.drawLine(0, np.ceil(self.height() / 2), self...
** painterクックブック(文字の書き方) [#d2f5a88e]
def settingText(self, event, painter):
""" 文字の書き方
QtGui.QPainter.drawText(r, flags, text)
:link: https://srinikom.github.io/pyside-docs/PyS...
"""
# 書きだす文字
text = 'Graph Title'
# 文字の色を設定
painter.setPen(QtGui.QColor(168, 34, 3))
# 文字のフォントと、文字サイズを設定
painter.setFont(QtGui.QFont('Decorative', 30))
# テキストの表示位置
# :::::::::::::::::::::::::::::::::::
# QtCore.Qt.AlignLeft
# QtCore.Qt.AlignRight
# QtCore.Qt.AlignHCenter
# QtCore.Qt.AlignJustify
# QtCore.Qt.AlignTop
# QtCore.Qt.AlignBottom
# QtCore.Qt.AlignVCenter
# QtCore.Qt.AlignCenter
# QtCore.Qt.TextDontClip
# QtCore.Qt.TextSingleLine
# QtCore.Qt.TextExpandTabs
# QtCore.Qt.TextShowMnemonic
# QtCore.Qt.TextWordWrap
# QtCore.Qt.TextIncludeTrailingSpaces
painter.drawText(event.rect(), QtCore.Qt.AlignHCe...
# painter.drawText(event.rect(), QtCore.Qt.AlignT...
# painter.drawText(int(x0), int(y0), int(w), int(...
** painterクックブック [#w290bceb]
pen.setColor(QtCore.Qt.black)
pen.setWidth(2)
painter.setPen(pen)
painter.setBrush(QtGui.QBrush(QtCore.Qt.green, Qt...
qpoints = [QtCore.QPointF(radius * np.sin(2. * np.p...
range(0, N)]
poly = QtGui.QPolygonF(qpoints)
painter.drawPolygon(poly)
** Window 最前面に表示 [#l8654496]
# 最前面に表示
self.setWindowFlags(Qt.WindowStaysOnTopHint)
** Window 枠を非表示 [#c23d29f0]
# 枠を非表示
self.setWindowFlags(Qt.FramelessWindowHint)
** タイトルにヴァージョンを表示 [#h5a535cf]
__version__ = '1.0'
self.setWindowTitle(QApplication.translate("Widget", "Pa...
** スタイルの変更 [#q799fcad]
qtDesignerのPreferences>Print/Previewからも確認できます。...
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setStyle('plastique')
・plastique
・motif
・cde
・gtk
・cleanlooks
・windows
・windowsxp (winのみ)
・windowsvista (winのみ)
・macintosh (macのみ)
cleanlooksかplastique以外は、グレーバック。
** 名前を付けて保存ダイアログ [#z5715185]
filename, ext = QFileDialog.getSaveFileName(self, "Save ...
# 保存場所を開いてあげると親切
from subprocess import Popen
def save_figure(self):
filename, ext = QFileDialog.getSaveFileName(self,...
QPixmap.grabWidget(self).save("clipboad.png")
QPixmap.grabWidget(self).save(filename)
# エクスプローラをオープン
cmd_file = 'explorer /select, "%s"' % (os.path.no...
Popen(cmd_file)
** リソースファイルを使う方法 [#s8f06b7c]
http://log.noiretaya.com/259
http://flame-blaze.net/archives/3041
パスを通す
PATH C:Anaconda2_32bit\Lib\site-packages\PySide\
変換
pyside-rcc -py2 Resource.qrc > Resource_rc.py
インポート
import PC_Momentum_Logger.Resource_rc
<RCC>
<qresource prefix="/" >
<file>jquery.min.js</file>
<file>overwrite.css</file>
</qresource>
</RCC>
** MDI [#q3eda39f]
https://github.com/PySide/Examples/blob/master/examples/m...
** QGraphicsのサンプル [#b9f37471]
** QGraphics [#cee43648]
QGraphicsView, QGraphicsScene, QGraphicsItem関連の情報収...
PySideで画像の表示とドラッグ移動
http://blawat2015.no-ip.com/~mieki256/diary/20150626.html
PyQtでイメージビューワ
http://melpystudio.blog82.fc2.com/blog-entry-138.html
[PYSIDE] GRAPHICSVIEWで遊ぼう その1 基本
http://flame-blaze.net/archives/5219
** QGraphicsの使い方 [#e10d6840]
# 処理系おまじない
self.setCacheMode(QGraphicsView.CacheBackground)
self.setRenderHints(QPainter.Antialiasing | QPainter.S...
localRect = self.boundingRect() # 自身の矩形範囲
** QWidgetの画面を画像保存 [#ac2c0082]
def save_figure(self):
QPixmap.grabWidget(self).save("clipboad.png")
** Windows対応:日本語フォルダも扱う [#l2254d3e]
path = unicode(url.toLocalFile()) ※ strでは使えない
# ドラッグドロップしてきたファイルにはこう使えばよい
files = [unicode(u.toLocalFile()) for u in event.mimeDat...
** QWebkitを使ってWebサイトを表示 [#t51d2681]
# ブラウザの作成
self.browser = QWebView(self)
# URLの設定
self.browser.load(QUrl('http://localhost/Recomen/...
# レイアウトにアタッチ
vbox.addWidget(self.browser)
# 親レイアウトに合わせて伸縮する設定
# self.setSizePolicy(QSizePolicy.Expanding, QSize...
self.setSizePolicy(QSizePolicy.Fixed, QSizePolicy...
** QtWebkitのオプション一覧 [#j70817a4]
http://trac.webkit.org/wiki/ConfigurableFeatures
** Youtubeの観覧 [#p82d4335]
初期状態ではプラグインの許可がなく動画再生できない
self.browser.settings().setAttribute(QWebSettings.Plugin...
ページ名: