Arkadaşlar PyQT ile geliştirdiğim text editorunde (Pyqt5 QTextEdit vertical scrollbar nasıl eklerim? )
başka bir sorun çıktı ben açılı olan projenin folderını göstermek için bir widget kullandım ama nedense bu widget textedit widgetinden daha büyük geliyor…
umarım anlatabilmişimdir ama fotoyla daha iyi anlayacağınızı düşünüyorum
elle ayarlanabiliyor(splitter) ama genede başlangıçta kötü duruyor
elle ayarlanınca böyle olabiliyor dediğim gibi
kodlar:
self.splitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal)
self.splitter.setStretchFactor(1, 1)
self.splitter.setSizes([150, 150])
def Setup_Folder_Tree(self):
self.model = QtWidgets.QFileSystemModel()
self.model.setRootPath("")
self.tree = QtWidgets.QTreeView()
self.tree.setModel(self.model)
self.tree.setRootIndex(self.model.index(os.path.dirname(__file__)))
self.tree.setAnimated(True)
self.tree.setIndentation(10)
self.tree.setSortingEnabled(True)
self.splitter.addWidget(self.tree)
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
self.tabWidget.tabCloseRequested.connect(lambda index: self.tabWidget.removeTab(index))
self.tabWidget.setTabsClosable(True)
self.splitter.addWidget(self.tabWidget)
ilk konumdaki problemimi tam çözemedim ama iki problemimide iki saattir gerek qt docsunda gerek diğer sitelerde araştırıyorum ingilizcemin yettiği kadarıyla ama bulamadım!!!
datemodified kolon ve satırının uzunluğunu azaltmayı denedin mi?
1 Beğeni
bu seferde sadece name var ama genede aynı
tevhidulvahset:
datemodified
yaptım oldu ama şimdide beğendiğim başka bir özellik gidiyoe splitter yani kişinin o pencereyi istediği gibi düzenleyebilmesi şimdi sadece belli bir widthde
seni tatmin etmeyi çok isterdim, elimden bu kadarı geliyor. Kodların tamamını atarsan belki faydam olur.
başardımmm yaptım tek yaptığım setMaximumWidth niteliğini kullanmaktı
saol genede brom <3
1 Beğeni
rica ederim. yine de kodları istiyorum (
# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setWindowTitle("Pyroditor")
MainWindow.resize(600, 500)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.splitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal)
self.splitter.setStretchFactor(1, 1)
self.splitter.setSizes([150, 150])
self.gridLayout.addWidget(self.splitter)
self.Setup_Menu()
self.Setup_Folder_Tree()
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
self.tabWidget.tabCloseRequested.connect(lambda index: self.tabWidget.removeTab(index))
self.tabWidget.setTabsClosable(True)
self.splitter.addWidget(self.tabWidget)
MainWindow.setCentralWidget(self.centralwidget)
def Setup_Menu(self):
New_action = QtWidgets.QAction("New",MainWindow)
New_action.setShortcut('Ctrl+N')
New_action.triggered.connect(lambda:self.add_tab("untitled"))
OpenFile_action = QtWidgets.QAction("Open File...",MainWindow)
OpenFile_action.setShortcut('Ctrl+O')
OpenFile_action.triggered.connect(self.open_file)
OpenFolder_action = QtWidgets.QAction("Open Folder...",MainWindow)
OpenFolder_action.triggered.connect(self.open_folder)
#***********Open recent file**********
OpenRecent_action = QtWidgets.QAction("Open Recent",MainWindow)
#*************************************
#++++++++++++++++++++++++++++++++++
mainMenu = MainWindow.menuBar()
fileMenu = mainMenu.addMenu('File')
editMenu = mainMenu.addMenu('Edit')
searchMenu = mainMenu.addMenu('Find')
viewMenu = mainMenu.addMenu('View')
RunMenu = mainMenu.addMenu('Run')
toolsMenu = mainMenu.addMenu('Tools')
helpMenu = mainMenu.addMenu('Help')
#++++++++++++++++++++++++++++++++++
fileMenu.addAction(New_action)
fileMenu.addAction(OpenFile_action)
fileMenu.addAction(OpenFolder_action)
fileMenu.addAction(OpenRecent_action)
fileMenu.addSeparator()
def Setup_Folder_Tree(self):
self.model = QtWidgets.QFileSystemModel()
self.model.setRootPath("")
self.tree = QtWidgets.QTreeView()
self.tree.setModel(self.model)
for indx in range(1, self.tree.model().columnCount()):
self.tree.header().hideSection(indx)
self.tree.setRootIndex(self.model.index(os.path.dirname(__file__)))
self.tree.setMaximumWidth(200)
self.tree.setAnimated(True)
self.tree.setIndentation(10)
self.tree.setSortingEnabled(True)
#++++++++++++++++++GONNA+FIX+++++++++++++++++++++++++++
#self.tree.hide()# kişi viewden halledicek checkbutton koyarım ve eğer kayıtlı folder yoksa gene hide
#++++++++++++++++++++++++++++++++++++++++++++++++++++++
self.splitter.addWidget(self.tree)
def add_tab(self,title,ext=""):
tab = QtWidgets.QWidget()
horizontalLayout = QtWidgets.QHBoxLayout(tab)
textEdit = QtWidgets.QPlainTextEdit(tab)
horizontalLayout.addWidget(textEdit)
self.tabWidget.addTab(tab, "".join(title+ext))
def open_file(self):
pass
def open_folder(self):
pass
def save(self):
pass
def save_as(self):
pass
if __name__ == "__main__":
import sys
import os
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
istersen kodlardan kendine fikir edinip kendi text editorunude geliştirebilirisin bro
daha bitirmedim çok eksiği var ama tamamlıyacağım
python 3.5 sürümünü kullanıyorsun dimi
@tevhidulvahset
Fikirlerini ve önerilerini belirtmeni istiyorum kodlar karşılığında
1 Beğeni
estağfurullah. o nasıl söz öyle
1 Beğeni
hatta ekleyebilirsen vertical scrollbarı ekleyebilirsin çok uğraştırdı
tarih kısmını çıkarttım ama dosya ismi dosya uzunluğu ve dosya tipini bıraktım
bi terslik var kodları bende çalıştırdığım zaman aldığım ekran seninki gibi olmuyor
karşıma gelen ekran bu
@tevhidulvahset ctrl n yap
açılı dosya yok ki
şuan bu yazdığın kod kadarıyla neler yapabiliyorum?