Example #1
0
def main():
    app = QApplication()
    window = QMainWindow()
    window.setMinimumSize(QSize(640, 480))

    imageFlow = FlowWidget(window)

    proxy = QSortFilterProxyModel()
    proxy.setFilterRole(FlowModel.FileNameRole)
    proxy.setSortRole(FlowModel.FileNameRole)
    imageFlow.setProxyModel(proxy)

    searchFilter = QLineEdit()
    searchFilter.textChanged.connect(
        lambda text: proxy.setFilterWildcard(text))

    layout = QVBoxLayout()
    layout.addWidget(searchFilter)
    layout.addWidget(imageFlow)

    widget = QWidget()
    widget.setLayout(layout)

    window.setCentralWidget(widget)
    window.show()

    # 画像を同期読み込み
    # for i, filePath in enumerate(glob.glob('C:/tmp/test_images2/*.png')):
    #     image = QImage(filePath).scaled(100, 100)
    #     item = FlowItem(filePath)
    #     item.setImage(image)
    #     imageFlow.appendItem(item)

    # 画像を非同期読み込み
    loader = BatchImageLoader()
    loader.addCallback(ImageLoadingCallback.LOADED,
                       lambda img: img.scaled(100, 100))
    tasks = {}

    def _on_load_image(taskId):
        filePath = tasks[taskId]
        image = loader.image(taskId)
        item = FlowItem(filePath, image)
        imageFlow.appendItem(item)

    def _on_load_complete():
        proxy.sort(0)

    loader.loaded.connect(_on_load_image)
    loader.completed.connect(_on_load_complete)
    for filePath in glob.iglob('C:/tmp/test_images/*.png'):
        taskId = loader.addFile(filePath)
        tasks[taskId] = filePath

    loader.loadAsync()

    sys.exit(app.exec_())
Example #2
0
def _main():
    app = QApplication([])

    window = QMainWindow()
    window.setMinimumSize(800, 600)

    player_one_view = Client.PlayerView(window)
    game_session = Server.GameSession()
    # zone1.clicked.connect(log.addEntry)
    # QObject.connect(zone1,SIGNAL('clicked()'),log.addEntry)

    # window.setCentralWidget(log)

    # mylabel.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding)
    window.show()
    # mylabel.adjustSize()
    app.exec_()
    print(str(window.size()))
Example #3
0
from PySide2.QtWidgets import (QApplication, QMainWindow)

from player_view import PlayerView
from game_master import GameMaster

app = QApplication([])

window = QMainWindow()
window.setMinimumSize(800, 600)

playerOneView = PlayerView(window)
gameMaster = GameMaster()
# zone1.clicked.connect(log.addEntry)
# QObject.connect(zone1,SIGNAL('clicked()'),log.addEntry)

# window.setCentralWidget(log)

# mylabel.setSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding)
window.show()
# mylabel.adjustSize()
app.exec_()
print(str(window.size()))
Example #4
0
        for category in d:
            category_item = QTreeWidgetItem()
            category_item.setText(0, category)

            for elem_name in d[category]:
                it = QTreeWidgetItem()
                it.setText(0, elem_name)
                category_item.addChild(it)

            self.addTopLevelItem(category_item)


if __name__ == "__main__":
    app = QApplication()
    w = QMainWindow()
    w.setMinimumSize(640, 480)

    elems = ElementTree()
    elems.create_from_dict(ELEMENTS)
    elems.expandAll()
    dw = QDockWidget()
    dw.setWidget(elems)
    dw.setWindowTitle('Elements')
    dw.setFeatures(QDockWidget.DockWidgetMovable
                   | QDockWidget.DockWidgetFloatable)
    w.addDockWidget(Qt.LeftDockWidgetArea, dw)

    sim = Simulator()
    schem = Schematic()
    sim.root = schem.root
    g = Gate('or', 1, 2, False)
Example #5
0
def main():
    app = QApplication()
    window = QMainWindow()
    window.setMinimumSize(600, 600)

    tree = DirTreeWidget(window)
    tree.setRootDirectoryPaths(['C:\\', 'D:\\'])
    # tree.setSelectionMode(QAbstractItemView.ExtendedSelection)
    # tree.itemSelectionChanged.connect(lambda x, y: print(tree.selectedItems()))
    # tree.itemDoubleClicked.connect(lambda idx: print(f'doubleclick: {idx}'))
    tree.setContextMenuPolicy(Qt.CustomContextMenu)

    def _ctx_menu(point):
        def _open_directory(path):
            subprocess.call(f'explorer "{path()}"', shell=True)

        menu_items = {
            u'フォルダを開く': lambda path: _open_directory(path),
        }

        menu = QMenu()
        for label in menu_items.keys():
            menu.addAction(label)

        executed_action = menu.exec_(tree.mapToGlobal(point))
        action = menu_items[executed_action.text()]

        item = tree.currentItem()
        action(item.path)

    tree.customContextMenuRequested.connect(_ctx_menu)

    files = FileListWidget(window)
    files.setViewMode(QFileListViewMode.ListMode)
    files.setSelectionMode(QAbstractItemView.ExtendedSelection)
    # files.itemSelectionChanged.connect(lambda x, y: print(tree.selectedItems()))
    # files.itemClicked.connect(lambda idx: print(f'click: {idx}'))
    # files.itemDoubleClicked.connect(lambda idx: print(f'doubleclick: {idx}'))

    iconLoader = QFileIconLoader(None)

    def _updateFiles(index):
        item = tree.itemFromIndex(index)

        filePaths = list(item.path().glob('*'))
        iconLoader.reset(filePaths)

        def _set_icon(result):
            FileListModel.icons[result.filePath] = result.icon
            files.model().refresh()

        iconLoader.loaded.connect(_set_icon)
        # iconLoader.completed.connect(print)
        iconLoader.loadAsync()

        files.setDirectoryPath(tree.itemFromIndex(index).path())

    tree.itemSelectionChanged.connect(
        lambda x, y: _updateFiles(tree.selectedIndexes()[0]))

    def _changeDir(index):
        item = files.itemFromIndex(index)
        print(item.path())

    files.itemDoubleClicked.connect(_changeDir)

    splitter = QSplitter()
    splitter.addWidget(tree)
    splitter.addWidget(files)

    window.setCentralWidget(splitter)
    window.show()
    app.exec_()
Example #6
0
from PySide2.QtWidgets import QApplication, QMainWindow, QToolBar, \
     QStatusBar, QAction, QCommonStyle, QDockWidget, QCalendarWidget, QWidget, QListView
from PySide2.QtGui import QIcon
from PySide2.QtCore import Qt
'''
pip install pyside2
'''
app = QApplication()
mainwindow = QMainWindow()
# 设置界面最小尺寸
mainwindow.setMinimumSize(900, 600)

# 创建工具栏对象
tool_bar = QToolBar()

open_dir_action = QAction(
    QIcon(QCommonStyle().standardPixmap(QCommonStyle.SP_DirIcon)), '打开目录')
tool_bar.addAction(open_dir_action)
open_file_action = QAction(
    QIcon(QCommonStyle().standardPixmap(QCommonStyle.SP_FileIcon)), '新建文件')
tool_bar.addAction(open_file_action)
open_delete_action = QAction(
    QIcon(QCommonStyle().standardPixmap(QCommonStyle.SP_TrashIcon)), '删除')
tool_bar.addAction(open_delete_action)

dock_calendar_widget = QDockWidget()
dock_calendar_widget.setWidget(QCalendarWidget())
dock_listview_widget = QDockWidget()
dock_listview_widget.setWidget(QListView())

# 添加在dock widgets区域的右边,Qt是一个包含了各种常量的包