alignment در Qplaintexteditor
با سلام به همه دوستان
من می خوام از کلاس Qplaintexteditor استفاده کنم اما این کلاس از alignment پشتیبانی نمی کند خودم خواستم این کارو انجام بدم اما الان موفق نشدم
یه کلاس نوشتم که از Qplaintexteditor ارث می بده و خواست با کد زیر از راست نوشتن رو بهش اضافه کنم اما نشد.
کد نوشته شده به صورت زیر است . لطفا دوستان کمک کن خیلی فوریه.
void MyTexteditor::setAlignment(Qt::Alignment alignVar)
{
QTextBlockFormat tempblockFormat;
tempblockFormat.setAlignment(alignVar);
QTextCursor cursor = textCursor();
cursor.mergeBlockFormat(tempblockFormat);
setTextCursor(cursor);
}
نقل قول: alignment در Qplaintexteditor
با سلام به همگی
خدایش یعنی کسی تو این انجمن نیست یه کمکی به ما کنه
دارم کلافه می شم خداااااااااااااا این کیوتی هم که ادم از سورس هیچی نمی تونه سر در بیاره که حداقل بشه از رو سروس خودش یه کاری کرد.
نقل قول: alignment در Qplaintexteditor
یعنی هیچ کس تو این فروم نبود که یه راهنمایی کنه به ما واقعا Qt اینقد بین ما ایرانی های کم ارزش که هیچ کس تا به حال سورس شو نگاه نداخته باشه . جالب برام
نقل قول: alignment در Qplaintexteditor
راهی داشت بهت میگفتیم
https://bugreports.qt-project.org/browse/QTBUG-7516
البته راه سر راست منظورمه. وگرنه میتونی خودت یک ویجت بر مبنای QPlainTextEditor بسازی
نقل قول: alignment در Qplaintexteditor
نقل قول:
نوشته شده توسط
حامد مصافی
من خودم این پست رو دیدم اما این به نظرم یه باگ نیست بلکه خود Qt نمی خواد این گزینه رو برای QplainTextEditor فعال کنه چون فک کنم هم QtCreator و خیلی از نرم افزار های دیگه که فقط برای ویرایش کد EN هستن نیاز به این قابلیت ندارند
اگه توجه کرده باشید من تو پست اول گفتم که خودم خواستم که یه کلاس درست کنم که از کلاس QplainTextEditor ارث ببره و با تابعی که نوشتم می خواستم این ویژگی رو به این کلاس اضافه کنم و برای همین هم راهنمایی می خواستم.
نقل قول: alignment در Qplaintexteditor
سلام تست کردم جواب داد
QPlainTextEdit *te=new QPlainTextEdit(this);
te->setWordWrapMode(QTextOption::WrapAtWordBoundaryOr Anywhere);
te->document()->setDefaultTextOption(QTextOption(Qt::AlignRight)) ;
نقل قول: alignment در Qplaintexteditor
نقل قول:
نوشته شده توسط
chikar
سلام تست کردم جواب داد
QPlainTextEdit *te=new QPlainTextEdit(this);
te->setWordWrapMode(QTextOption::WrapAtWordBoundaryOr Anywhere);
te->document()->setDefaultTextOption(QTextOption(Qt::AlignRight)) ;
واقعا عالی بود. مرسی دادا ایشالا که خیر ببینی کار مارو راه انداختی
ایشالا خدا کارتو راه بندازه.
نقل قول: alignment در Qplaintexteditor
نقل قول:
نوشته شده توسط
chikar
سلام تست کردم جواب داد
QPlainTextEdit *te=new QPlainTextEdit(this);
te->setWordWrapMode(QTextOption::WrapAtWordBoundaryOr Anywhere);
te->document()->setDefaultTextOption(QTextOption(Qt::AlignRight)) ;
منظور ایشون این بوده که وقتی که شروع به تایپ می کنیم و کیبرد فارسی باشه خودکار نوشتن از راست شروع بشه در غیر این صورت از چپ (بقیه ویدجت ها مثل lineEdit این مشکل رو ندارن)
نقل قول: alignment در Qplaintexteditor
میشه برای رفع مشکلی که گفتم این طوری عمل کرد :
#include <QtWidgets/QApplication>
#include <QPlainTextEdit>
#include <QKeyEvent>
#include <QEvent>
class RTLBugFix :public QObject
{
public:
bool eventFilter(QObject* obj, QEvent* e){
if (e->type() == QEvent::KeyPress)
{
QPlainTextEdit* pe = dynamic_cast<QPlainTextEdit*>(obj);
if (pe != nullptr)
{
bool rtl = (pe->document()->toPlainText().isRightToLeft() == Qt::RightToLeft);
if ( (pe->layoutDirection()==Qt::RightToLeft||
QApplication::layoutDirection() == Qt::RightToLeft) && rtl)
pe->document()->setDefaultTextOption(QTextOption(Qt::AlignRight)) ;
else
pe->document()->setDefaultTextOption(QTextOption(Qt::AlignLeft) );
}
}
return QObject::eventFilter(obj, e);
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.installEventFilter(new RTLBugFix());
//test
//QApplication::setLayoutDirection(Qt::RightToLeft);
QPlainTextEdit editor;
editor.setLayoutDirection(Qt::RightToLeft);
editor.show();
return a.exec();
}
نقل قول: alignment در Qplaintexteditor
نقل قول:
نوشته شده توسط
omid_kma
منظور ایشون این بوده که وقتی که شروع به تایپ می کنیم و کیبرد فارسی باشه خودکار نوشتن از راست شروع بشه در غیر این صورت از چپ (بقیه ویدجت ها مثل lineEdit این مشکل رو ندارن)
:متفکر::متفکر:
نقل قول: alignment در Qplaintexteditor
نقل قول:
نوشته شده توسط
menosoft
واقعا عالی بود. مرسی دادا ایشالا که خیر ببینی کار مارو راه انداختی
ایشالا خدا کارتو راه بندازه.
خواهش میی کنم داداش، اتفاقا کار من هم با دعای شما حل شد
ممنون