Ejemplo n.º 1
0
def feature_t_test_correlation(df, true_label, opt):
    print("Start feature t test correlation {}".format(str(datetime.now())))
    logger.info("Start feature t test correlation {}".format(
        str(datetime.now())))

    # Add true label to the matrix
    df['true_label'] = [
        -1 if x == "Down" else 0 if x == "Same" else 1 for x in true_label
    ]
    df = df.dropna()

    # perform t-test
    tdf = pd.DataFrame()
    p_value_df = pd.DataFrame()
    for col in df:
        if str(df[col][0]) in ("True", "False"):  # Binary feature
            binary_to_int = [
                1 if item is True else -1 for idx, item in enumerate(df[col])
            ]
            df[col] = binary_to_int
        t_test, p_value = ttest_ind(df[col],
                                    df['true_label'],
                                    equal_var=False,
                                    nan_policy='omit')
        tdf[col] = pd.Series(t_test)
        p_value_df[col] = pd.Series(p_value)

    path = os.path.join(os.getcwd(), "data") \
        if not opt.nlp else os.path.join(os.getcwd(), "NLP", "data")
    if not os.path.exists(path):
        os.makedirs(path, exist_ok=True)
    features_ttest_csv_path = os.path.join(path, "features_ttest.csv")
    features_p_value_csv_path = os.path.join(path, "features_p_value.csv")
    tdf.to_csv(features_ttest_csv_path)
    p_value_df.to_csv(features_p_value_csv_path)

    # Get width & height resolution
    width = GetSystemMetrics(0)
    height = GetSystemMetrics(1)

    # plot the heatmap t_test
    fig = plt.figure(figsize=(width / 90., height / 50.), dpi=1500)
    sns.heatmap(tdf.transpose(),
                xticklabels=['true_label'],
                yticklabels=tdf.columns,
                linewidths=0.3,
                vmax=1.0,
                square=True)
    path = os.path.join(os.getcwd(), "data_analysis") \
        if not opt.nlp else os.path.join(os.getcwd(), "NLP", "data_analysis")
    if not os.path.exists(path):
        os.makedirs(path, exist_ok=True)
    plt.show(block=False)
    plt.savefig(os.path.join(path, "features t-test Heat map.pdf"),
                format="pdf",
                bbox_inches='tight')

    # plot the heatmap p_value
    fig = plt.figure(figsize=(width / 120., height / 50.), dpi=200)
    sns.heatmap(p_value_df.transpose(),
                xticklabels=['true_label'],
                yticklabels=p_value_df.columns,
                linewidths=0.3,
                vmax=1.0,
                square=True)
    path = os.path.join(os.getcwd(), "data_analysis") \
        if not opt.nlp else os.path.join(os.getcwd(), "NLP", "data_analysis")
    if not os.path.exists(path):
        os.makedirs(path, exist_ok=True)
    plt.show(block=False)
    plt.savefig(os.path.join(path, "features p_value Heat map.pdf"),
                format="pdf",
                bbox_inches='tight')
Ejemplo n.º 2
0
import pygame
from win32api import GetSystemMetrics

joininggame = False
disconnected = False

host = '127.0.0.1'  # The server's hostname or IP address, probably will only use the second one
Playervariables = [{"playername": 'mikekmp1', "playerx": 0, "playery": 0}]

port = 5000  # The port used by the server. Changes when joining, will also be needed to be configurable
# on main menu by user

pygame.init()
fullscreen = False
infoObject = pygame.display.Info()
w = GetSystemMetrics(0)
h = GetSystemMetrics(1)
DISPLAYSURF = pygame.display.set_mode((1000, 600), pygame.RESIZABLE)
keys = pygame.key.get_pressed()
alt = False
f4 = False
mainloop = True

while mainloop:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            print("The whole game got closed")
            mainloop = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_F4:
                f4 = True
Ejemplo n.º 3
0
from win32api import GetSystemMetrics
import numpy as np
import sys, os

sys.path.append(os.path.join(os.path.dirname(__file__), '../src'))
from graphics import *
from disk_expansions import *

# get width and height automatically from system
width = GetSystemMetrics(0)
height = GetSystemMetrics(1)

# or overwrite for another target display
# width = 1920
# height = 1080
    
def main():

    # define frame rate
    FR = 30
    
    # stimulus is centred on screen
    x = width/2
    y = height/2
    
    # stimulus size 
    r0 = 33.9                               # initial radius
    rf_l = 339                              # final radius 
    
    # stimulus timing
    SS = FR * 3                             # end of stable small period
Ejemplo n.º 4
0
    def __init__(self, types, SIZE=None):
        _dpi = 100
        if SIZE is None:
            w = (GetSystemMetrics(0) - 200) / _dpi
            h = (GetSystemMetrics(1) - 200) / _dpi
            SIZE = (w, h)
        self.fig = plt.figure(1, figsize=SIZE, dpi=_dpi)
        self.ax = self.fig.add_subplot(111)
        self.ax.set_facecolor((0.815, 0.925, 0.9, 1))

        self.patches = []
        self.cid = self.fig.canvas.mpl_connect('button_press_event', self.highlight_area)
        self.coords = []

        # geom object save
        self.object = {}
        self.color = {}
        for t in types:
            self.object[t] = []

        #self.object['type'] = []
        #self.object['draw'] = []
        #self.object['index'] =[]

        self.all_points = {}
        self.points = []
        self.lines = []
        self.polygons = []
        self.point_index = 0
        self.line_index = 0
        self.polygon_index = 0

        # temp
        self.scatters = {}
        self.point_list = []
        # temp too
        self.polygon_list = []
        self.line_list = []

        self.ax.set_title('toronto')

        # view range
        xrange = [-79.7034, -79.8187]
        yrange = [43.5635, 43.6200]
        self.ax.set_xlim(*xrange)
        self.ax.set_ylim(*yrange)
        self.ax.set_aspect(1)

        # button
        self.flag = 0
        axnext = plt.axes([0.81, 0.05, 0.1, 0.075])
        self.bnext = Button(axnext, 'highlight area')
        self.bnext.on_clicked(self.flag_setting)
        self.highlifgted = None
        #self.bprev = Button(axprev, 'Previous')
        #self.bprev.on_clicked(self.flag_setting)

        # check buttons
        axchk = plt.axes([0.7, 0.05, 0.1, 0.275])

        # ladel's list, active's list is all
        self.labels = types
        self.act = [0 for x in types]
        self.check = CheckButtons(axchk, labels=self.labels, actives=self.act)
        self.check.on_clicked(self.get_active)
Ejemplo n.º 5
0
 def __init__(self):
     self.SCREEN_W = GetSystemMetrics(0)
     self.SCREEN_H = GetSystemMetrics(1)
Ejemplo n.º 6
0
import socket
from Tkinter import *
import threading
from win32api import GetSystemMetrics

WIDTH = GetSystemMetrics(0)
HEIGHT = GetSystemMetrics(1)

class Chat():

	def __init__(self):
		self.root = Tk()
		self.root.geometry('%dx%d+%d+%d'%(WIDTH-600, HEIGHT, 600, 0))
		self.root.bind("<Return>",self.pressed)

		self.chattext = Text(self.root)
		self.chattext.pack(side = RIGHT)

		self.myentery = Entry(self.root)
		self.myentery.pack(side = RIGHT)

		self.sendbutton = Button(self.root,text = "SEND" , command = self.pressed)
		self.sendbutton.pack(side = RIGHT)

		self.is_pressed = False

		#for the main loop
		thread = threading.Thread(target=self.mainloop)
		thread.start()

	def pressed(self,ret = None):
Ejemplo n.º 7
0
#print len(app.features[0])
app.initClassifier()


test = app.getDataFromFile("./dataset/circle/one.txt")
print manager.folders[app.predict(test)-1]
print app.predict(test)
app.plotImage("./dataset/circle/one.txt")"""

from pymouse import PyMouse
from pykeyboard import PyKeyboard
from win32api import GetSystemMetrics

m = PyMouse()
k = PyKeyboard()
system_height = GetSystemMetrics(1)
system_width = GetSystemMetrics(0)
move_factor = 150

print(system_height)
print(system_width)


def fun(inp):
    if (inp == 1):
        k.tap_key(k.right_key)

        #m.drag(100,100)
    elif (inp == 2):
        #will perform zoom-in
        k.tap_key(k.left_key)
Ejemplo n.º 8
0
        self.currentHand.append(self._generateHand())
        self.currentHand.append(self._generateHand())
        self.canvas.delete('all')
        self.canvas.images = []
        self._display(self.currentHand, 0, "Regular hands")

    def dealException(self):
        self.currentHand = random.sample(self.exceptionList, 2)
        self.regularHandsExceptions = []
        self.canvas.delete('all')
        self.canvas.images = []
        self._display(self.currentHand, 0, "Exception hands")


if __name__ == '__main__':
    screenResolution = str(GetSystemMetrics(0)) + 'x' + str(
        GetSystemMetrics(1))
    root = Tk()
    root.geometry(screenResolution)
    root.title("Pai gow tiles")
    # Create canvas object
    canvas = Canvas(root, bg='white')
    canvas.pack(side=BOTTOM, fill=BOTH, expand=YES)
    t = Tiles(root, canvas)
    hand = t._generateHand()
    # print('Hand: ')
    # print(hand)
    # print('Combinations: ')
    # print(t.combinations(hand))
    # print('Points: ')
    # for c in t.combinations(hand):
Ejemplo n.º 9
0
from panda3d.core import loadPrcFileData

from win32api import GetSystemMetrics
screen_width = str(GetSystemMetrics(0))
screen_height = str(GetSystemMetrics(1))
loadPrcFileData("", "win-size " + screen_width + " " + screen_height)
loadPrcFileData("", "load-display pandagl")

import sys
import math
import numpy as np
from direct.showbase.ShowBase import ShowBase

from direct.showbase.DirectObject import DirectObject
from direct.showbase.InputStateGlobal import inputState

from panda3d.core import *
from panda3d.core import AmbientLight
from panda3d.core import DirectionalLight
from panda3d.core import Vec3
from panda3d.core import Vec4
from panda3d.core import Point3
from panda3d.core import TransformState
from panda3d.core import BitMask32
from panda3d.core import LineSegs, NodePath
from panda3d.core import TextNode

# cleanup me
from panda3d.bullet import BulletWorld
from panda3d.bullet import BulletPlaneShape
from panda3d.bullet import BulletBoxShape
Ejemplo n.º 10
0
    def setupUi(self, Form):
        self.sizeMonitor = [GetSystemMetrics(0), GetSystemMetrics(1)]
        self.setMouseTracking(True)
        self.form = Form
        Form.setObjectName("Form")
        Form.resize(631, 406)

        self.oldHighLine = None
        self.oldIndexSub = 0
        self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface)
        self.mediaPlayer.positionChanged.connect(
            self.positionChanged)  # bắt frame video thay đổi
        self.mediaPlayer.durationChanged.connect(
            self.durationChanged)  # bắt thời lượng video
        # Hàm này chỉ chạy có 1 lần !!!

        # Create Slider tạo thanh trượt video
        #self.positionSlider = QSlider(Qt.Horizontal)
        self.positionSlider = Slider(Qt.Horizontal)
        # truyền đối số Qt.Horizontal không dùng hàm __init__ nó sẽ kế thừa trực tiếp từ Horizontal
        # nếu dùng hàm __init__ nó sẽ ko kế thừa được mà chỉ tham chiếu đến lớp horizontal !!!
        self.positionSlider.parent = self
        self.positionSlider.setRange(0, 0)
        self.positionSlider.sliderMoved.connect(self.sliderMoved)

        # set event notify 500 millisecond
        QMediaObject.setNotifyInterval(self.mediaPlayer, 500)

        # Create Menubar
        self.menubar = QtWidgets.QMenuBar(Form)
        self.menubar.setFixedHeight(25)

        self.menuOpen = QtWidgets.QMenu(self.menubar)
        self.menuOpen.setObjectName('menuOpen')

        self.menuOption = QtWidgets.QMenu(self.menubar)
        self.menuOption.setObjectName('menuOption')
        self.actionReload = QtWidgets.QAction(Form)
        self.actionReload.setObjectName('actionReload')
        self.actionReload.triggered.connect(self.reloadVideoAndSub)
        self.menuOption.addAction(self.actionReload)

        self.actionOpenVideo = QtWidgets.QAction(Form)
        self.actionOpenVideo.setObjectName('openvideo')
        self.actionOpenSub1 = QtWidgets.QAction(Form)
        self.actionOpenSub1.setObjectName('openSub1')
        self.actionOpenSub1.triggered.connect(self.openFile('Open Eng Sub'))
        self.actionOpenSub2 = QtWidgets.QAction(Form)
        self.actionOpenSub2.setObjectName('openSub2')
        self.actionOpenSub2.triggered.connect(self.openFile('Open Vie Sub'))
        self.actionOpenViewedVideo = QtWidgets.QAction(Form)
        self.actionOpenViewedVideo.triggered.connect(self.openViewedVideo)
        self.menuOpen.addAction(self.actionOpenVideo)
        self.menuOpen.addAction(self.actionOpenSub1)
        self.menuOpen.addAction(self.actionOpenSub2)
        self.menuOpen.addAction(self.actionOpenViewedVideo)
        self.actionOpenVideo.triggered.connect(self.openFile('Open Video'))
        self.menubar.addAction(self.menuOpen.menuAction())
        self.menubar.addAction(self.menuOption.menuAction())
        self.actionOpenSub2.setEnabled(False)

        self.verticalLayout = QtWidgets.QVBoxLayout(Form)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        # create gridlayout contain scrollarea
        # self.gridLayout = QtWidgets.QGridLayout(Form)
        # self.gridLayout.setObjectName("gridLayout")

        # create scrollarea
        self.scrollArea = QtWidgets.QScrollArea(Form)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setMinimumSize(300, 400)
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 430, 319))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)

        # create verticalscroll
        # chú ý lớp cha là scroll widget content
        self.verticalScroll = QtWidgets.QVBoxLayout(
            self.scrollAreaWidgetContents)
        # self.gridLayout.addWidget(self.scrollArea)

        self.verticalLayout.addWidget(self.menubar, 0)

        scene = QGraphicsScene(self)
        self.graphicsView = QGraphicsView(
            scene)  # dùng widget graphicsview mới overlay lable lên được !!!
        self.videoItem = QGraphicsVideoItem()
        self.videoItem.setSize(QSizeF(600, 400))
        #self.graphicsView.setStyleSheet("background-color:black;")
        # dùng palette (bảng màu) riêng cho widget nên không ảnh hưởng đến labelvideo khi ghi đè lên
        p = self.graphicsView.palette()
        p.setColor(self.graphicsView.backgroundRole(), Qt.black)
        self.graphicsView.setPalette(p)
        scene.addItem(self.videoItem)
        self.horizontalLayout.addWidget(self.graphicsView)
        self.mediaPlayer.setVideoOutput(self.videoItem)

        # add label for videowidget represent subtitle
        self.labelVideo = QtWidgets.QLabel(self.graphicsView)
        self.labelVideo.setObjectName('labelVideo')
        self.labelVideo.setText('')
        self.labelVideo.setStyleSheet(
            "QLabel {font-size: 20px; opacity:1; color:white}")
        self.labelVideo.setFixedWidth(500)
        self.labelVideo.setFixedHeight(200)
        self.labelVideo.setAlignment(Qt.AlignCenter)
        self.labelVideo.setWordWrap(True)
        self.labelVideo.move(int(self.sizeMonitor[0] / 2 - 200),
                             int(self.sizeMonitor[1] * 5 / 7))
        #print(self.labelVideo.x(), self.labelVideo.y())
        #self.labelVideo.raise_()
        #self.videoWidget.raise_()

        self.notificationVideo = QtWidgets.QLabel(self.graphicsView)
        self.notificationVideo.setObjectName('notificationVideo')
        self.notificationVideo.setText('')
        self.notificationVideo.setStyleSheet(
            "QLabel {font-size: 20px; opacity:1; color:white}")
        self.notificationVideo.setFixedWidth(500)
        self.notificationVideo.setFixedHeight(200)
        self.notificationVideo.setAlignment(Qt.AlignCenter)
        self.notificationVideo.setWordWrap(True)
        self.notificationVideo.move(int(self.sizeMonitor[0] / 2 + 200),
                                    int(self.sizeMonitor[1] * 2 / 7))

        self.horizontalLayout.addWidget(self.scrollArea)
        self.verticalLayout.addLayout(self.horizontalLayout, 10)
        # cho stretch widget là 100% tức sẽ chiếm toàn bộ diện tích trong layout !!!
        # những widget khác cho 0% stretch

        # create layoutSlider
        self.horizontalLayoutSlider = QtWidgets.QHBoxLayout()
        self.horizontalLayoutSlider.setObjectName("horizontalLayoutSlider")
        self.labelCurTime = QtWidgets.QLabel(Form)
        self.labelCurTime.setObjectName('labelCurTime')
        self.labelCurTime.setText('00:00')
        self.labelDurationTime = QtWidgets.QLabel(Form)
        self.labelDurationTime.setText('NaN')
        self.labelDurationTime.setObjectName('labelDurationTime')
        self.horizontalLayoutSlider.addWidget(self.labelCurTime)
        self.horizontalLayoutSlider.addWidget(self.positionSlider)
        self.horizontalLayoutSlider.addWidget(self.labelDurationTime)
        #self.verticalLayout.addLayout(self.horizontalLayoutSlider,0)
        # Layout không thể hide được nên sẽ dùng frame (kế thừa từ widget) setlayout để hide nó
        self.frameSlider = QtWidgets.QFrame()
        self.frameSlider.setLayout(self.horizontalLayoutSlider)
        self.verticalLayout.addWidget(self.frameSlider, 0)

        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")

        #self.verticalLayout.addLayout(self.horizontalLayout_2)

        self.toolButton = QtWidgets.QToolButton(Form)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("assets/play.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.toolButton.setIcon(icon)
        self.toolButton.setIconSize(QtCore.QSize(32, 32))
        self.toolButton.setObjectName("toolButton")

        # Event play
        self.toolButton.clicked.connect(self.play)

        self.horizontalLayout_2.addWidget(self.toolButton)
        self.toolButton_3 = QtWidgets.QToolButton(Form)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap("assets/previous.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.toolButton_3.setIcon(icon1)
        self.toolButton_3.setIconSize(QtCore.QSize(32, 32))
        self.toolButton_3.setObjectName("toolButton_3")
        self.toolButton_3.clicked.connect(self.backwardVideo)
        self.horizontalLayout_2.addWidget(self.toolButton_3)
        self.toolButton_4 = QtWidgets.QToolButton(Form)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap("assets/next.png"), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.toolButton_4.setIcon(icon2)
        self.toolButton_4.setIconSize(QtCore.QSize(32, 32))
        self.toolButton_4.setObjectName("toolButton_4")
        self.toolButton_4.clicked.connect(self.forwardVideo)
        self.horizontalLayout_2.addWidget(self.toolButton_4)
        #self.verticalLayout.addLayout(self.horizontalLayout_2,0)

        self.toolButtonFullScreen = QtWidgets.QToolButton(Form)
        self.toolButtonFullScreen.setObjectName('toolButtonFullScreen')
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap('assets/fullscreen.png'),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.toolButtonFullScreen.setIcon(icon3)
        self.toolButtonFullScreen.setIconSize(QtCore.QSize(32, 32))
        self.horizontalLayout_2.addWidget(self.toolButtonFullScreen)
        self.toolButtonFullScreen.clicked.connect(self.fullScreen)

        # self.toolButton_3.clicked.connect(self.setSCrollbar(30))
        # self.toolButton_4.clicked.connect(self.setSCrollbar(90))
        self.frameButton = QtWidgets.QFrame()
        self.frameButton.setLayout(self.horizontalLayout_2)
        self.verticalLayout.addWidget(self.frameButton, 0)

        # turn on mousemove tracking for videowidget !!!
        #self.videoWidget.setMouseTracking(True)

        # tắt mục tiêu tập trung để nhật sự kiện arrow button
        self.setChildrenFocusPolicy(Qt.NoFocus)
        self.scrollArea.setFocusPolicy(Qt.NoFocus)
        # setcontentsmargins cho verticalLayout Tổng chứ ko phải cho Form !!!
        #self.verticalLayout.setContentsMargins(0,0,0,0)

        self.scrollArea.hide()

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
Ejemplo n.º 11
0
from win32api import GetSystemMetrics

x = GetSystemMetrics(0)
y = GetSystemMetrics(1)

### SCREEN
screen = dict(
    width=800,
    height=600,
)

### PYGAME DATA
delay = 1000
FPS = 60
font = dict(
    smallSize=30,
    smallFamily="calibri",
    mediumSize=50,
    mediumFamily="calibri",
    bigSize=80,
    bigFamily="calibri",
)
### FOOD

food = dict(startingFoodCount=5, freshness=10, rottingPeace=1)

animalsBeggining = dict(startingPeacocksCount=10, startingTigersCount=30)

peacocks = dict(maxCount=1000,
                minHungerPeace=1,
                maxHungerPeace=5,
Ejemplo n.º 12
0
'''
Created on Apr 2, 2019

@author: sojin
'''

from win32api import GetSystemMetrics

# Define screen size
SCREEN_WIDTH = GetSystemMetrics(0)
SCREEN_HEIGHT = GetSystemMetrics(1)
# SCREEN_WIDTH = 1000
# SCREEN_HEIGHT = 800

# Counts
NUM_OF_GAME_MODES = 2
NUM_OF_DIFFICULTIES = 4

# Game Speed
ASTEROID_MOVE_SPEED_EASY = 6
ASTEROID_MOVE_SPEED_MED = 8
ASTEROID_MOVE_SPEED_HARD = 9
ASTEROID_MOVE_SPEED_IMPOSSIBLE = 10

# Number of balls
ASTEROID_LIMIT_EASY = 0.007
ASTEROID_LIMIT_MED = 0.008
ASTEROID_LIMIT_HARD = 0.009
ASTEROID_LIMIT_IMPOSSIBLE = 0.012

# Asteroid radius
Ejemplo n.º 13
0
from win32api import GetSystemMetrics
import numpy
from mss import mss
import cv2
import imutils

# Gets 1st monitors size and we start at the top left
import CONSTANTS

monitor = {
    'top': 0,
    'left': 0,
    'width': GetSystemMetrics(0),
    'height': GetSystemMetrics(1)
}


def getImage() -> CONSTANTS.ImageData:
    returnData = CONSTANTS.ImageData()
    rawImg = numpy.array(mss().grab(monitor))
    gray = cv2.cvtColor(rawImg, cv2.COLOR_BGR2GRAY)
    # Turns all the non black pixels white
    thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY)[1]
    # Inverts the colour of the black and white image
    thresh = cv2.bitwise_not(thresh)
    # Finds contours cv2.RETR_LIST seems to work best
    cnts = cv2.findContours(thresh.copy(), cv2.RETR_LIST,
                            cv2.CHAIN_APPROX_SIMPLE)
    cnts = imutils.grab_contours(cnts)

    returnData.setRawImage(rawImg)  # Storing for display purposes
Ejemplo n.º 14
0
    def digit(self):
        self.__init__(title='error')

        self.error = QLabel(self)
        self.error.setText('error')
        self.error.move(150, 150)

        self.show()


if __name__ == '__main__':
    inf1 = os.environ['COMPUTERNAME']
    inf2 = os.environ['USERNAME']
    inf3 = os.environ['WINDIR']
    inf4 = GetSystemDirectory()
    inf5 = GetSystemMetrics(0)
    inf6 = os.getcwd()
    inf7 = GetLogicalDriveStrings()

    signature = inf1 + inf2 + inf3 + inf4 + inf6 + inf7 + str(inf5)
    sha = hashlib.sha256(signature.encode()).hexdigest()

    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
                         "Software\\Romanuik\\Signature", 0, winreg.KEY_READ)
    key_dict = {}
    i = 0
    while True:
        try:
            subvalue = winreg.EnumValue(key, i)
        except WindowsError as e:
            break
    def __init__(self,**kwargs):
        super(Experiment_Staging,self).__init__(**kwargs)
        self.monitor_x_dim = GetSystemMetrics(0)
        self.monitor_y_dim = GetSystemMetrics(1)
        self.size = (self.monitor_x_dim,self.monitor_y_dim)

        self.curr_dir = os.getcwd()
        self.trial_displayed = False
        self.data_dir = self.curr_dir + "\\Data"
        if not os.path.exists(self.data_dir):
            os.makedirs(self.data_dir)

        self.presentation_delay_start = False
        self.image_on_screen = False
        self.feedback_displayed = False
        self.correction_active = False

        self.delay_length = 10

        self.max_trials = 30 # MAX Number of Trials / Session
        self.max_time = 3600 # Cutoff Time / Session (sec)

        self.time_elapsed = 0 # How long has elapsed during the protocol
        self.start_time = time.time() # Timer to track ITI/Stim Pres/etc
        self.start_iti_time = 0 # Start time for timer to track

        self.iti_time = 8 # Delay time between trials
        self.presentation_delay_time = 10 # Amount of time between start and presentation (Trial # 1)
        self.feedback_length = 2 # Amount of time Sound/Cue are Present


        self.image_list = ['marble','fan'] # Names of Files #
        self.image_pos = [-1,1] # Index position for Image Shift from Center

        #SELECT CORRECT IMAGE###########
        self.correct_image_index = 0 ## 0 = LEFT, 1 = RIGHT)

        # Set the incorrect based on correct
        if self.correct_image_index == 0:
            self.incorrect_image_index = 1
        elif self.correct_image_index == 1:
            self.incorrect_image_index = 0

        # Random # Generator to determine which side each stimuli goes to
        self.correct_image_pos = random.randint(0,1)
        if self.correct_image_pos == 0:
            self.incorrect_image_pos = 1
        elif self.correct_image_pos == 1:
            self.incorrect_image_pos = 0
        ###############################

        self.lat = 0 # Placeholder for Latency Time

        self.current_trial = 1 # Current Trial #
        self.current_correct = 0 # Is current trial a correct one?
        self.current_correction = 0 # Is current trial requiring correction?

        self.total_trials = 0
        self.total_correct = 0
        self.total_corrections = 0
        self.correct_latency_list = []
        self.incorrect_latency_list = []

        self.correct_sound_path = self.curr_dir + "\\Sounds\\Correct.wav" # Filepath to Correct Sound
        self.incorrect_sound_path = self.curr_dir + "\\Sounds\\Incorrect.wav" # Filepath to Incorrect Sound
        self.feedback_sound = SoundLoader.load(self.correct_sound_path) # Loads sound to placeholder
        self.feedback_sound.loop = True # Set Sound-Repeating Function

        self.delay_hold_button = ImageButton(source='%s\\Images\\white.png' % (self.curr_dir), allow_stretch=True) # Set Delay Button Filepath
        self.delay_hold_button.size_hint = (.5,.5) # Set Delay Button Size (relative to screen size)
        self.delay_hold_button.pos = ((self.center_x - (0.25 * self.monitor_x_dim)),(self.center_y - (0.25 * self.monitor_y_dim) - (0.1 * self.monitor_y_dim))) # Set Relative Position of Delay Button


        Clock.schedule_interval(self.clock_update, 0.001) # Run Timer Function Every 1000th of a second (Precision)
        self.id_entry() #Move to next stage to Enter Filename
Ejemplo n.º 16
0
import numpy as np
# import pymouse

from pynput.mouse import Button, Controller
from win32api import GetSystemMetrics
from utils import findActualRect, findActualRectWidth, convertAct

palm = cv2.CascadeClassifier('cascade_classifiers/palm.xml')

fist = cv2.CascadeClassifier('cascade_classifiers/fist.xml')

fingertip = cv2.CascadeClassifier('cascade_classifiers/fingertip.xml')

mouse = Controller()

original_width = GetSystemMetrics(0)
original_height = GetSystemMetrics(1)

cap = cv2.VideoCapture(0)

video_width = cap.get(3)
video_height = cap.get(4)
width = original_width // 4
height = original_height // 4
clicked = False
while True:
    ret, img = cap.read()

    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    palm_cascade = palm.detectMultiScale(gray, 1.3, 5)
Ejemplo n.º 17
0
from win32api import GetSystemMetrics
W= GetSystemMetrics(0)
H= GetSystemMetrics(1)
Ejemplo n.º 18
0
"""
from win32api import GetSystemMetrics
from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from PyQt5 import QtGui, QtCore
from PyQt5.QtGui import QIcon, QPixmap, QImage
from PyQt5.QtCore import QDir, Qt, QUrl, QThread, QRect, QSize
from PyQt5.QtWidgets import (QMainWindow, QApplication, QWidget, QTableWidget,
                             QVBoxLayout, QTableWidgetItem, QLabel,
                             QHBoxLayout, QGridLayout)
import cv2
from collections import deque
from PyQt5.QtCore import pyqtSlot

print("Width =", GetSystemMetrics(0))
print("Height =", GetSystemMetrics(1))


class App(QWidget):
    def __init__(self):
        super().__init__()
        self.title = 'Video Streaming & Alerts'
        self.left = 0
        self.top = 0
        self.width = GetSystemMetrics(0)  #640
        self.height = GetSystemMetrics(1)  #480
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
Ejemplo n.º 19
0
import turtle
import math
import random
import sys
import os
from win32api import GetSystemMetrics
import datetime

print("Width =", GetSystemMetrics(0))
print("Height =", GetSystemMetrics(1))

#inicializace
hra = turtle.Screen()
#setup okna
hra.setup(width=900,
          height=900,
          startx=GetSystemMetrics(0) / 4,
          starty=GetSystemMetrics(1) / 12)
hra.bgcolor("red")
hra.title("Hra")
hra.register_shape("coin.gif")
hra.register_shape("asteroid1.gif")
run = True
hra.bgpic("pozadi2.gif")
health = turtle.Turtle()


class Game(turtle.Turtle):
    def __init__(self):
        turtle.Turtle.__init__(self)
        self.penup()
Ejemplo n.º 20
0
from win32api import GetSystemMetrics

# Screen dimensions
S_WIDTH = GetSystemMetrics(0)
S_HEIGHT = GetSystemMetrics(1)

global description_window_open
global add_task_window_open
global completed_window_open
global notes_window_open

# Helps prevent multiple windows of same type from opening
description_window_open = False
add_task_window_open = False
completed_window_open = False
notes_window_open = False


# Center an app window on the monitor
def window_placer():

    width = S_WIDTH//2
    height = S_HEIGHT//2
    return width, height


# Font

PROJ_FONT = 'Open Sans'

###########
Ejemplo n.º 21
0
    def setupUi(self, MainWindow, version):
        self.version = version
        self.ScRate = GetSystemMetrics(0) / 1920
        self.font = QFont("Georgia", 8.8 * self.ScRate, weight=-2)

        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1126 * self.ScRate, 700)
        MainWindow.setMinimumSize(QSize(1126 * self.ScRate, 500 * self.ScRate))
        MainWindow.setMaximumSize(QSize(GetSystemMetrics(0),
                                        900 * self.ScRate))
        MainWindow.setWindowIcon(QIcon(Icons["Standart"]))

        self.centralwidget = QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.horizontalLayout_8 = QHBoxLayout(self.centralwidget)
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")

        self.horizontalLayout = QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.verticalLayout_4 = QVBoxLayout()
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.tableView = QTableView(self.centralwidget)
        self.tableView.setMinimumSize(QSize(550 * self.ScRate, 0))
        self.tableView.setObjectName("tableView")
        self.verticalLayout_4.addWidget(self.tableView)
        self.tableView.setAcceptDrops(True)
        self.tableView.setHorizontalScrollMode(
            QAbstractItemView.ScrollPerPixel)
        self.tableView.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel)
        self.horizontalLayout_9 = QHBoxLayout()
        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
        self.label_6 = QLabel(self.centralwidget)
        self.label_6.setObjectName("label_6")
        self.horizontalLayout_9.addWidget(self.label_6)
        spacerItem = QSpacerItem(40, 20, QSizePolicy.Expanding,
                                 QSizePolicy.Minimum)
        self.horizontalLayout_9.addItem(spacerItem)
        self.pushButton_8 = QPushButton(self.centralwidget)
        self.pushButton_8.setObjectName("pushButton_8")
        self.horizontalLayout_9.addWidget(self.pushButton_8)
        self.pushButton_9 = QPushButton(self.centralwidget)
        self.pushButton_9.setObjectName("pushButton_9")
        self.horizontalLayout_9.addWidget(self.pushButton_9)
        self.verticalLayout_4.addLayout(self.horizontalLayout_9)
        self.horizontalLayout.addLayout(self.verticalLayout_4)
        self.verticalLayout_3 = QVBoxLayout()
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.horizontalLayout.addLayout(self.verticalLayout_3)
        self.line = QFrame(self.centralwidget)
        self.line.setFrameShape(QFrame.VLine)
        self.line.setFrameShadow(QFrame.Sunken)
        self.line.setObjectName("line")
        self.horizontalLayout.addWidget(self.line)

        self.verticalLayout = QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")

        self.pushButton = QPushButton(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding,
                                 QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.pushButton.sizePolicy().hasHeightForWidth())
        self.pushButton.setSizePolicy(sizePolicy)
        self.pushButton.setMinimumSize(
            QSize(507 * self.ScRate, 28 * self.ScRate))
        self.pushButton.setMaximumSize(
            QSize(507 * self.ScRate, 28 * self.ScRate))
        self.pushButton.setObjectName("pushButton")
        self.verticalLayout.addWidget(self.pushButton)

        self.pushButton_4 = QPushButton(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding,
                                 QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.pushButton_4.sizePolicy().hasHeightForWidth())
        self.pushButton_4.setSizePolicy(sizePolicy)
        self.pushButton_4.setMinimumSize(
            QSize(507 * self.ScRate, 28 * self.ScRate))
        self.pushButton_4.setMaximumSize(
            QSize(507 * self.ScRate, 28 * self.ScRate))
        self.pushButton_4.setObjectName("pushButton_4")
        self.verticalLayout.addWidget(self.pushButton_4)

        self.line_2 = QFrame(self.centralwidget)
        self.line_2.setFrameShape(QFrame.HLine)
        self.line_2.setFrameShadow(QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.verticalLayout.addWidget(self.line_2)

        self.horizontalLayout_3 = QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")

        self.label = QLabel(self.centralwidget)
        self.label.setObjectName("label")
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding,
                                 QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label.sizePolicy().hasHeightForWidth())
        self.label.setSizePolicy(sizePolicy)
        self.label.setMinimumSize(QSize(100 * self.ScRate, 25 * self.ScRate))
        self.label.setMaximumSize(QSize(100 * self.ScRate, 25 * self.ScRate))
        self.label.setAlignment(Qt.AlignRight | Qt.AlignVCenter)
        self.horizontalLayout_3.addWidget(self.label)

        self.bar = QProgressBar(self.centralwidget)
        self.bar.setObjectName("bar")
        sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding,
                                 QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.bar.sizePolicy().hasHeightForWidth())
        self.bar.setSizePolicy(sizePolicy)
        self.bar.setMinimumSize(QSize(430 * self.ScRate, 25 * self.ScRate))
        self.bar.setMaximumSize(QSize(430 * self.ScRate, 25 * self.ScRate))
        #self.bar.setValue(50)
        self.bar.setTextVisible(False)
        self.bar.setStyleSheet("QProgressBar {margin-right: 60px;}")
        self.bar.setAlignment(Qt.AlignLeft | Qt.AlignHCenter)
        self.horizontalLayout_3.addWidget(self.bar)

        #self.horizontalLayout_3.addStretch()
        self.verticalLayout.addLayout(self.horizontalLayout_3)
        """
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setMinimumSize(QtCore.QSize(249, 31))
        self.label.setMaximumSize(QtCore.QSize(249, 31))
        self.label.setObjectName("label")
        self.horizontalLayout_3.addWidget(self.label)


        self.spinBox = QtWidgets.QSpinBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.spinBox.sizePolicy().hasHeightForWidth())
        self.spinBox.setSizePolicy(sizePolicy)
        self.spinBox.setMinimumSize(QtCore.QSize(249*self.ScRate, 22*self.ScRate))
        self.spinBox.setMaximumSize(QtCore.QSize(249*self.ScRate, 22*self.ScRate))                              
        self.spinBox.setReadOnly(True)
        self.spinBox.setMaximum(999999)
        self.spinBox.setObjectName("spinBox")
        self.horizontalLayout_3.addWidget(self.spinBox)
        

        self.verticalLayout.addLayout(self.horizontalLayout_3)
        

        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")

        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setMinimumSize(QtCore.QSize(249*self.ScRate, 32*self.ScRate))
        self.label_2.setMaximumSize(QtCore.QSize(249*self.ScRate, 32*self.ScRate))
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_4.addWidget(self.label_2)
        
        self.spinBox_2 = QtWidgets.QSpinBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)        
        sizePolicy.setHeightForWidth(self.spinBox_2.sizePolicy().hasHeightForWidth())
        self.spinBox_2.setSizePolicy(sizePolicy)
        self.spinBox_2.setMinimumSize(QtCore.QSize(249*self.ScRate, 22*self.ScRate))
        self.spinBox_2.setMaximumSize(QtCore.QSize(249*self.ScRate, 22*self.ScRate))                                
        self.spinBox_2.setReadOnly(True)
        self.spinBox_2.setMaximum(999999)
        self.spinBox_2.setObjectName("spinBox_2")
        self.horizontalLayout_4.addWidget(self.spinBox_2)

        self.verticalLayout.addLayout(self.horizontalLayout_4)

        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")

        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setMinimumSize(QtCore.QSize(249*self.ScRate, 31*self.ScRate))
        self.label_3.setMaximumSize(QtCore.QSize(249*self.ScRate, 31*self.ScRate))                                     
        self.label_3.setObjectName("label_3")
        self.label_3.setFont(self.font)
        self.horizontalLayout_5.addWidget(self.label_3)

        self.spinBox_3 = QtWidgets.QSpinBox(self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)                                        
        sizePolicy.setHeightForWidth(self.spinBox_3.sizePolicy().hasHeightForWidth())
        self.spinBox_3.setSizePolicy(sizePolicy)
        self.spinBox_3.setMinimumSize(QtCore.QSize(249*self.ScRate, 22*self.ScRate))
        self.spinBox_3.setMaximumSize(QtCore.QSize(249*self.ScRate, 22*self.ScRate))                                
        self.spinBox_3.setReadOnly(True)
        self.spinBox_3.setMaximum(999999)
        self.spinBox_3.setObjectName("spinBox_3")
        self.horizontalLayout_5.addWidget(self.spinBox_3)

        self.verticalLayout.addLayout(self.horizontalLayout_5)
        """

        self.horizontalLayout_6 = QHBoxLayout()
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")

        self.label_4 = QLabel(self.centralwidget)
        self.label_4.setMinimumSize(QSize(249 * self.ScRate, 31 * self.ScRate))
        self.label_4.setMaximumSize(QSize(249 * self.ScRate, 31 * self.ScRate))
        self.label_4.setObjectName("label_4")
        self.label_4.setFont(self.font)
        self.horizontalLayout_6.addWidget(self.label_4)

        self.spinBox_4 = QSpinBox(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.spinBox_4.sizePolicy().hasHeightForWidth())
        self.spinBox_4.setSizePolicy(sizePolicy)
        self.spinBox_4.setMinimumSize(
            QSize(249 * self.ScRate, 22 * self.ScRate))
        self.spinBox_4.setMaximumSize(
            QSize(249 * self.ScRate, 22 * self.ScRate))
        self.spinBox_4.setReadOnly(True)
        self.spinBox_4.setMaximum(999999)
        self.spinBox_4.setObjectName("spinBox_4")
        self.horizontalLayout_6.addWidget(self.spinBox_4)

        self.verticalLayout.addLayout(self.horizontalLayout_6)

        self.horizontalLayout_7 = QHBoxLayout()
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")

        self.line_3 = QFrame(self.centralwidget)
        self.line_3.setFrameShape(QFrame.HLine)
        self.line_3.setFrameShadow(QFrame.Sunken)
        self.line_3.setObjectName("line_3")
        self.verticalLayout.addWidget(self.line_3)

        self.verticalLayout_7 = QVBoxLayout()
        self.verticalLayout_7.setObjectName("verticalLayout_7")

        self.horizontalLayout_2 = QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")

        self.pushButton_2 = QPushButton(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.pushButton_2.sizePolicy().hasHeightForWidth())
        self.pushButton_2.setSizePolicy(sizePolicy)
        self.pushButton_2.setMinimumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_2.setMaximumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_2.setObjectName("pushButton_2")
        self.horizontalLayout_2.addWidget(self.pushButton_2)

        self.pushButton_3 = QPushButton(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.pushButton_3.sizePolicy().hasHeightForWidth())
        self.pushButton_3.setSizePolicy(sizePolicy)
        self.pushButton_3.setMinimumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_3.setMaximumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_3.setObjectName("pushButton_3")
        self.horizontalLayout_2.addWidget(self.pushButton_3)

        self.pushButton_7 = QPushButton(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.pushButton_7.sizePolicy().hasHeightForWidth())
        self.pushButton_7.setSizePolicy(sizePolicy)
        self.pushButton_7.setMinimumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_7.setMaximumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_7.setObjectName("pushButton_7")
        self.horizontalLayout_2.addWidget(self.pushButton_7)

        space = QSpacerItem(25, 0, QSizePolicy.Fixed, QSizePolicy.Maximum)
        self.horizontalLayout_2.addItem(space)

        self.pushButton_5 = QPushButton(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.pushButton_5.sizePolicy().hasHeightForWidth())
        self.pushButton_5.setSizePolicy(sizePolicy)
        self.pushButton_5.setMinimumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_5.setMaximumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_5.setObjectName("pushButton_5")
        self.horizontalLayout_2.addWidget(self.pushButton_5)

        self.pushButton_6 = QPushButton(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.pushButton_6.sizePolicy().hasHeightForWidth())
        self.pushButton_6.setSizePolicy(sizePolicy)
        self.pushButton_6.setMinimumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_6.setMaximumSize(
            QSize(30 * self.ScRate, 30 * self.ScRate))
        self.pushButton_6.setObjectName("pushButton_6")
        self.horizontalLayout_2.addWidget(self.pushButton_6)

        #self.horizontalLayout_2.addStretch()

        self.horizontalLayout_2.setAlignment(Qt.AlignLeft)

        self.verticalLayout_7.addLayout(self.horizontalLayout_2)

        self.tab = QTabWidget()
        self.plain_1 = QPlainTextEdit(self.centralwidget)
        self.plain_1.setPlaceholderText("Mesajınız...")
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.tab.sizePolicy().hasHeightForWidth())
        self.tab.setSizePolicy(sizePolicy)
        self.tab.setMinimumSize(QSize(240 * self.ScRate, 380 * self.ScRate))
        self.tab.setMaximumSize(QSize(240 * self.ScRate, 380 * self.ScRate))
        self.tab.setObjectName("tab")
        self.tab.addTab(self.plain_1, "Mesaj 1")

        self.verticalLayout_7.addWidget(self.tab)

        self.horizontalLayout_7.addLayout(self.verticalLayout_7)

        self.verticalLayout_2 = QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")

        self.label_5 = QLabel(self.centralwidget)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.label_5.sizePolicy().hasHeightForWidth())
        self.label_5.setSizePolicy(sizePolicy)
        self.label_5.setMinimumSize(QSize(256 * self.ScRate,
                                          130 * self.ScRate))
        self.label_5.setMaximumSize(QSize(256 * self.ScRate,
                                          130 * self.ScRate))
        self.label_5.setObjectName("label_5")
        self.label_5.setFont(self.font)
        self.verticalLayout_2.addWidget(self.label_5)

        self.tableWidget = QTableWidget(self.centralwidget)
        #self.tableWidget = TableWidgetDragRows(self.centralwidget)
        #self.tableWidget.dropSignal.connect(self.updateTableDrag)
        self.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.tableWidget.setColumnCount(2)
        sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.tableWidget.sizePolicy().hasHeightForWidth())
        self.tableWidget.setSizePolicy(sizePolicy)

        self.tableWidget.setHorizontalHeaderItem(0,
                                                 QTableWidgetItem("Dosya Adı"))
        self.tableWidget.setHorizontalHeaderItem(
            1, QTableWidgetItem("Mesaj Sırası"))
        self.tableWidget.resizeColumnsToContents()
        self.tableWidget.setHorizontalScrollMode(
            QAbstractItemView.ScrollPerPixel)
        self.tableWidget.setVerticalScrollMode(
            QAbstractItemView.ScrollPerPixel)
        self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu)
        self.tableWidget.customContextMenuRequested.connect(
            self.on_context_menu)
        sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.tableWidget.sizePolicy().hasHeightForWidth())
        self.tableWidget.setSizePolicy(sizePolicy)
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setMinimumSize(
            QSize(220 * self.ScRate, 280 * self.ScRate))
        self.tableWidget.setMaximumSize(
            QSize(220 * self.ScRate, 280 * self.ScRate))
        self.verticalLayout_2.addWidget(self.tableWidget)
        self.create_popup_menu()

        self.horizontalLayout_7.addLayout(self.verticalLayout_2)
        self.verticalLayout.addLayout(self.horizontalLayout_7)
        self.horizontalLayout.addLayout(self.verticalLayout)
        self.horizontalLayout_8.addLayout(self.horizontalLayout)

        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QMenuBar(MainWindow)
        self.menubar.setGeometry(
            QRect(0, 0, 1100 * self.ScRate, 26 * self.ScRate))
        self.menubar.setObjectName("menubar")
        self.menuDosya = QMenu(self.menubar)
        self.menuDosya.setObjectName("menuDosya")
        self.menuAbout = QMenu(self.menubar)
        self.menuAbout.setObjectName("menuAbout")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.actionDosya_A = QAction(MainWindow)
        self.actionDosya_A.setObjectName("actionDosya_A")
        self.actionKapat = QAction(MainWindow)
        self.actionKapat.setObjectName("actionKapat")
        self.actionAyarla = QAction(MainWindow)
        self.actionAyarla.setObjectName("actionAyarla")
        self.actionUpdate = QAction(MainWindow)
        self.actionUpdate.setObjectName("actionUpdate")
        self.actionFeedBack = QAction(MainWindow)
        self.actionFeedBack.setObjectName("actionFeedBack")
        self.actionAbout = QAction(MainWindow)
        self.actionAbout.setObjectName("actionAbout")
        self.menuDosya.addAction(self.actionDosya_A)
        self.menuDosya.addAction(self.actionAyarla)
        self.menuDosya.addAction(self.actionKapat)
        self.menuAbout.addAction(self.actionUpdate)
        self.menuAbout.addAction(self.actionAbout)
        self.menuAbout.addAction(self.actionFeedBack)
        self.menubar.addAction(self.menuDosya.menuAction())
        self.menubar.addAction(self.menuAbout.menuAction())

        self.retranslateUi(MainWindow)
        QMetaObject.connectSlotsByName(MainWindow)
        self.i = 1
        self.list_of_files = [["Mesaj", "1"]]
        self.updateTable()
Ejemplo n.º 22
0
def display_splash_screen():
    import urllib.request
    import urllib.error
    from pywinauto_recorder.__init__ import __version__
    url_version = "https://raw.githubusercontent.com/beuaaa/pywinauto_recorder/master/bin/VersionInfo.rc"
    latest_version = __version__
    try:
        with urllib.request.urlopen(url_version) as f:
            line = f.read().decode('utf-8')
        latest_version = line.split('ProductVersion')[1].split('"')[2]
    except urllib.error.URLError:
        pass

    if __version__ == latest_version:
        print("Your Pywinauto recorder is up to date.")
    else:
        print("Pywinauto recorder v" + latest_version + " is available!")

    splash_foreground = oaam.Overlay(transparency=0.0)
    time.sleep(0.2)
    splash_background = oaam.Overlay(transparency=0.1)
    screen_width = GetSystemMetrics(0)
    screen_height = GetSystemMetrics(1)
    nb_band = 24
    line_height = 22.4
    text_lines = [''] * nb_band
    if __version__ == latest_version:
        text_lines[6] = 'Pywinauto recorder ' + __version__
    else:
        text_lines[
            6] = 'Your version of Pywinauto recorder (' + __version__ + ') is not up to date (' + latest_version + ' is available!)'
    text_lines[7] = 'by David Pratmarty'
    text_lines[
        9] = 'Record / Stop                            Smart mode On / Off'
    text_lines[
        10] = 'CTRL+ALT+R                                      CTRL+ALT+S'
    text_lines[12] = 'Search algorithm speed        Display / Hide information'
    text_lines[
        13] = '                                                       CTRL+SHIFT+D'
    text_lines[
        15] = 'Copy python code in clipboard          Click on "Quit" in'
    text_lines[
        16] = 'CTRL+SHIFT+F                                tray menu to quit'
    text_lines[
        18] = 'To replay your recorded file you can:                          '
    text_lines[19] = '- Drag and drop it on pywinauto_recorder.exe            '
    text_lines[
        20] = '- Click on "Start replaying clipboard" in tray menu       '
    text_lines[
        21] = '- Run "python.exe recorded_file.py"                           '

    splash_background.clear_all()
    w, h = 640, 540
    x, y = screen_width / 2 - w / 2, screen_height / 2 - h / 2
    splash_width = w
    splash_left = x
    splash_right = x + w
    splash_top = y
    splash_bottom = y + h
    splash_background.add(geometry=oaam.Shape.triangle,
                          thickness=0,
                          xyrgb_array=((x, y, 200, 0, 0),
                                       (x + w, y, 0, 128, 0), (x + w, y + h, 0,
                                                               0, 155)))
    splash_background.add(geometry=oaam.Shape.triangle,
                          thickness=0,
                          xyrgb_array=((x + w, y + h, 0, 0, 155),
                                       (x, y + h, 22, 128, 66), (x, y, 200, 0,
                                                                 0)))

    splash_background.refresh()

    mouse_was_splash_screen = False
    x, y = GetCursorPos()
    if (splash_left < x < splash_right) and (splash_top < y < splash_bottom):
        mouse_was_splash_screen = True
        message_to_continue = 'To continue: move the mouse cursor out of this window'
    else:
        message_to_continue = 'To continue: move the mouse cursor over this window'

    py_rec_icon_rect = (splash_left + splash_width / 2 - 200 / 2,
                        splash_top + 30, 200, 100)
    overlay_add_pywinauto_recorder_icon(splash_background, py_rec_icon_rect[0],
                                        py_rec_icon_rect[1])
    continue_after_splash_screen = True
    n = 0
    while continue_after_splash_screen:
        splash_foreground.clear_all()
        i = 0
        while i < nb_band:
            if i < 2:
                font_size = 44
            else:
                font_size = 20
            splash_foreground.add(x=splash_left,
                                  y=splash_top + i * line_height,
                                  width=splash_width,
                                  height=line_height,
                                  text=text_lines[i],
                                  font_size=font_size,
                                  text_color=(254, 255, 255),
                                  color=(255, 255, 255),
                                  geometry=oaam.Shape.rectangle,
                                  thickness=0)
            i = i + 1
        if n % 6 in [0, 1, 2]:
            _overlay_add_mode_icon(splash_foreground, IconSet.hicon_record,
                                   splash_left + 50,
                                   splash_top + line_height * 8.7)
        else:
            _overlay_add_mode_icon(splash_foreground, IconSet.hicon_stop,
                                   splash_left + 50,
                                   splash_top + line_height * 8.7)
        _overlay_add_mode_icon(splash_foreground, IconSet.hicon_light_on,
                               int(splash_right - (52 + 50)),
                               int(splash_top + line_height * 8.7))
        _overlay_add_progress_icon(splash_foreground, n % 6, splash_left + 50,
                                   splash_top + line_height * 11.7)
        _overlay_add_mode_icon(splash_foreground, IconSet.hicon_search,
                               int(splash_right - (52 + 50)),
                               splash_top + line_height * 11.7)
        _overlay_add_mode_icon(splash_foreground, IconSet.hicon_clipboard,
                               splash_left + 50,
                               splash_top + line_height * 14.7)
        _overlay_add_mode_icon(splash_foreground, IconSet.hicon_power,
                               int(splash_right - (52 + 50)),
                               splash_top + line_height * 14.7)
        _overlay_add_mode_icon(splash_foreground, IconSet.hicon_play,
                               splash_left + 50,
                               int(splash_top + line_height * 19.3))

        splash_foreground.refresh()
        time.sleep(0.4)
        if n % 2 == 0:
            text_lines[23] = message_to_continue
        else:
            text_lines[23] = ''
        continue_after_splash_screen = False
        x, y = GetCursorPos()
        if (splash_left < x < splash_right) and (splash_top < y <
                                                 splash_bottom):
            if mouse_was_splash_screen:
                continue_after_splash_screen = True
        else:
            if not mouse_was_splash_screen:
                continue_after_splash_screen = True
        n = n + 1
    splash_foreground.clear_all()
    splash_foreground.refresh()
    splash_background.clear_all()
    splash_background.refresh()
Ejemplo n.º 23
0
loop.add_argument(
    '-w', 
    help='Enable while loop mode. WD is the duration to take screenshots. WC is the screenshot count to take within duration',
    nargs=2,
    metavar=('WD','WC'),
    type=int,
    dest='W'
    )

# Get the user arguments
args = parser.parse_args()

# Variables for save argument values
delay,gap,fc,wd,wc = 0,0,1,0,1
(X1, Y1) = (0, 0)
(X2, Y2) = (GetSystemMetrics(0), GetSystemMetrics(1))
hide = flp = wlp = box = False
path = ('', False)

# Handle hide (-i) argument
hide = True if args.i else False

# Handle PATH argument
path = (str(args.PATH), False) if args.PATH else mt.defaultName()

# Handle delay (D) argument
delay = args.D if args.D else 0

# Verify For loop mode status
flp = True if args.F else False
Ejemplo n.º 24
0
def DisplaySize():
    return GetSystemMetrics(0), GetSystemMetrics(1)
Ejemplo n.º 25
0
#     chrome_driver = webdriver.Chrome(options=options)
#     request.cls.driver = chrome_driver
#     yield chrome_driver
#
#     chrome_driver.close()


@pytest.fixture
def master(request):
    parameters = []
    for i in range(10):
        parameters.append((i, i + 1))
    return request.param


screen_w = GetSystemMetrics(0)
screen_y = GetSystemMetrics(1)
errorCode = ctypes.windll.shcore.SetProcessDpiAwareness(
    PROCESS_SYSTEM_DPI_AWARE)
half_width = int(math.floor(screen_w / 4))


def test_open_search_not_found(request):
    options = webdriver.ChromeOptions()
    options.add_argument('--lang=en-EN')
    options.add_argument('--window-size=1900x1080')
    chrome_driver = webdriver.Chrome(options=options)
    chrome_driver.set_window_position(0, 0)
    window_size = chrome_driver.get_window_size()
    # chrome_driver.set_window_size(half_width, screen_y)
    options2 = webdriver.ChromeOptions()
Ejemplo n.º 26
0
from win32api import GetSystemMetrics
import pygame

# окно
WIDTH, HEIGHT = GetSystemMetrics(0), GetSystemMetrics(1)
SCREEN_RECT = (0, 0, WIDTH, HEIGHT)


# спрайты
PLAYER_SPRITE = 'falcon.png'
PLAYER_BULLET_SPRITE = 'p_bullet.png'
ENEMY_BULLET_SPRITE = 'e_bullet.png'
OBSTACLES_SPRITE = 'rock.png'
ENEMY_SPRITE = 'tie_fighter.png'
BOSS_SPRITE = 'star_destroyer2.png'
BACKGROUND = 'stars_jpeg.jpg'
EARTH_SPRITE = 'planet_earth.jpg'

# размеры спрайтов
ENEMY_SPRITE_W = 53
ENEMY_SPRITE_H = 48

PLAYER_SPRITE_W = 100
PLAYER_SPRITE_H = 100

BOSS_SPRITE_W = 200
BOSS_SPRITE_H = 400

# hp bars
HP_BARS_W = 40
HP_BARS_H = 4
Ejemplo n.º 27
0
def get_screen_size():
    """获取缩放后的分辨率"""
    w = GetSystemMetrics(0)
    h = GetSystemMetrics(1)
    return w, h
            self.mean_incorrect_latency = sum(self.incorrect_latency_list) / len(self.incorrect_latency_list)

        self.accuracy = (self.total_correct / self.total_trials) * 100

        self.current_date = self.current_datetime.strftime('%Y/%m/%d %H:%M')

        self.write_string = '%s,%s,%s,%s,%s,%s,%s,%s' % (self.current_task,self.current_date,self.time_elapsed,self.total_trials,
                                             self.accuracy,self.total_corrections,self.mean_correct_latency,
                                             self.mean_incorrect_latency)
        self.summary_path = self.data_dir + '\\dPD Progress Summary.csv'
        self.summary_file = open(self.summary_path,'a')
        self.summary_file.write("\n")
        self.summary_file.write(self.write_string)
        self.summary_file.close()
        Experiment_App.stop()

    def clock_update(self,*args):
        self.current_time = time.time()
        self.time_elapsed = time.time() - self.start_time

class Experiment_App(App):
    def build(self):
        experiment = Experiment_Staging()
        return experiment

if __name__ == '__main__':
    monitor_x_dim = GetSystemMetrics(0)
    monitor_y_dim = GetSystemMetrics(1)
    Window.size = (monitor_x_dim,monitor_y_dim)
    Window.fullscreen = True
    Experiment_App().run()
Ejemplo n.º 29
0
def get_system_metrics():
    from win32api import GetSystemMetrics
    return GetSystemMetrics(0),GetSystemMetrics(1)
Ejemplo n.º 30
0
def snp500_chart(df):
    print("Plot S&P figure, time {}".format(str(datetime.now())))
    logger.info("Plot S&P figure, time {}".format(str(datetime.now())))
    plt.figure()
    df.dropna()
    plt.plot(df.Close, label="close")
    plt.title("S&P 500 close price chart")
    plt.ylabel("S&P500 Price")
    plt.xlabel("Date")
    plt.legend(loc='best')
    plt.show(block=False)
    if not os.path.exists(os.path.join(os.getcwd(), "data_analysis")):
        os.mkdir(os.path.join(os.getcwd(), "data_analysis"))
    plt.savefig(
        os.path.join(os.path.join(os.getcwd(), "data_analysis"),
                     "S&P500_close_price.png"))
    # plot with volume
    plt.figure()
    ax1 = plt.subplot2grid((6, 1), (0, 0), rowspan=5, colspan=1)
    ax1.plot(df.Close, label="close")
    plt.title("S&P 500 close price chart")
    plt.ylabel("S&P500 Price")
    plt.legend(loc='best')
    ax2 = plt.subplot2grid((6, 1), (5, 0), rowspan=1, colspan=1, sharex=ax1)
    plt.ylabel("Volume")
    plt.xlabel("Date")
    ax2.bar(df.index, df.Volume)
    plt.show(block=False)
    if not os.path.exists(os.path.join(os.getcwd(), "data_analysis")):
        os.mkdir(os.path.join(os.getcwd(), "data_analysis"))
    plt.savefig(
        os.path.join(os.path.join(os.getcwd(), "data_analysis"),
                     "S&P500_close_price_volume.png"))
    # plot candlestick ohlc with volume
    # Get width & height resolution
    width = GetSystemMetrics(0)
    height = GetSystemMetrics(1)
    fig = plt.figure(figsize=(width / 100., height / 100.), dpi=400)
    ohcl = []
    for i, _ in enumerate(df.index):
        # OHLC support date2num as xaxix
        args = mdates.date2num(
            df.index[i]), df.Open[i], df.High[i], df.Low[i], df.Close[i]
        ohcl.append(args)
    ax1 = plt.subplot2grid((6, 1), (0, 0), rowspan=5, colspan=1)
    ax1.xaxis_date()
    plt.tight_layout()
    candlestick_ohlc(ax1,
                     ohcl,
                     width=0.4,
                     colordown="#db3f3f",
                     colorup="#77d879")
    ax2 = plt.subplot2grid((6, 1), (5, 0), rowspan=1, colspan=1, sharex=ax1)
    ax2.fill_between(df.Volume.index.map(mdates.date2num), df.Volume.values, 0)
    plt.ylabel("Volume")
    plt.xlabel("Date")
    ax2.bar(df.index, df.Volume)
    plt.subplots_adjust(left=0.09,
                        bottom=0.2,
                        right=0.94,
                        top=0.90,
                        wspace=0.2,
                        hspace=0)
    plt.tight_layout()
    plt.show(block=False)
    if not os.path.exists(os.path.join(os.getcwd(), "data_analysis")):
        os.mkdir(os.path.join(os.getcwd(), "data_analysis"))
    plt.savefig(
        os.path.join(os.path.join(os.getcwd(), "data_analysis"),
                     "S&P500_close_price_candlestick_volume.png"))