ネイティブで見えるファイルブラウザで、きれいにタイル張りのサムネイルを表示するイメージブラウザを作成したいと考えています。 Windows上でqt5(およびpython) - ユーザーのosのデフォルトのサムネイルサイズを取得する方法
は、私はそれがこれに似たものになります願っています:Ubuntuで
を、私はそれがこれに似たものになります願っています:
これは現在入手可能なものです:
私が直面している問題の1つは、画像の正しいサムネイルサイズを指定することです。私は、コードself.setIconSize(QSize(32, 32))
を使用してプログラムでサムネイルのサイズを設定できることを理解していますが、サムネイルのサイズをこのように設定すると、システムのデフォルトと矛盾するサイズになる可能性があります。
だから私の質問は:は、どのように私は(より具体的にPySide2またはPyQt5をqt5を使用するか)は、ユーザーのOSと一致し、私のサムネイル外観を作るために、ユーザーのデスクトップ上に設定されている「デフォルトのサムネイルサイズ」を得るのですか?
ここで私はこれまでのところで働いているコードです: `
import sys
from PySide2.QtCore import QSize
from PySide2.QtGui import QIcon
from PySide2.QtWidgets import QApplication, QListWidget, QListWidgetItem, QMainWindow
class ThumbsWindow(QListWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.initUI()
def initUI(self):
self.setViewMode(QListWidget.IconMode)
self.setIconSize(QSize(32, 32))
myimage_path = "./images/web.png"
myimage_path1 = "./images/image1.jpg"
myimage_path2 = "./images/image2.jpg"
myimage_path3 = "./images/image3.jpg"
image_list = [myimage_path, myimage_path1, myimage_path2, myimage_path3]
# create a list of QIcons
image_items = [QListWidgetItem(QIcon(path_x), "sample image") for path_x in image_list]
# add each of the QIcons onto the QListWidget
for image_item in image_items:
self.addItem(image_item)
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
t = ThumbsWindow()
self.setCentralWidget(t)
self.resize(400, 300)
self.setWindowTitle('Image Thumbnails')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
`
デフォルトのシステムサイズはどうだと思いますか?私はあなたの質問にその証拠は見当たりません。そして、どのような場合でも、なぜあなたは自分自身のためにサイズを選択させることができないのでしょうか(他のすべてのアプリケーションがそうするでしょう)? – ekhumoro
ubuntuユーザーの場合、 "Pictures"フォルダを開くと、そのフォルダ内にある写真のサムネイル版が表示されます。彼はこれらのサムネイルに対して均一な_default_サイズを提示されます。Ubuntuは、サムネイルの内容が表示される前に、サムネイルのサイズを入力する必要があるダイアログボックスをポップアップ表示しません。 Windowsユーザーと同じことです。 Windowsのユーザーには、サムネイルのサイズが欲しいものを指定するようにユーザーに依頼しなくても、デフォルトのサイズである一様なサイズのサムネイルが表示されます。 –
しかし、それはデフォルトの**システム**サイズがあることを示していません。それぞれのアプリケーションは独自の処理を行います。 – ekhumoro